如何从视口中删除 3dModel [HelixToolKit WPF]
How to remove 3dModel from Viewport [HelixToolKit WPF]
我正在尝试创建一个涉及 3d 模型的问题游戏。如果问题是正确的,我希望我的应用程序更改 3d 模型。为此,我添加了一个名为 setupQ
的函数
这是它的代码:
// To Setup Next 3dModel
public void SetupQ(string ModelS)
{
// SET 3d Model
ModelVisual3D device3D = new ModelVisual3D();
device3D.Content = Display3d(ModelS);
// Add to view port
viewPort3d.Children.Add(device3D);
}
Display3D 函数:
private Model3D Display3d(string model)
{
Model3D device = null;
try
{
//Adding a gesture here
viewPort3d.RotateGesture = new MouseGesture(MouseAction.LeftClick);
//Import 3D model file
ModelImporter import = new ModelImporter();
//Load the 3D model file
device = import.Load(model);
}
catch (Exception e)
{
// Handle exception in case can not file 3D model
MessageBox.Show("Exception Error : " + e.StackTrace);
}
return device;
}
ModelS
是3d模型的路径。 [路径确实有效]。
如何删除刚添加的 3d 模型,然后添加新的 3d 模型?
- HelixToolKit 是否有替换或清除功能?
好吧,我自己想出了答案,很简单。
- 要清除视口,您可以:
viewPort3d.Children.Clear();
- 这将移除所有灯光,因此您不妨将它们添加回去。
viewPort3d.Children.Add(new DefaultLights());
我正在尝试创建一个涉及 3d 模型的问题游戏。如果问题是正确的,我希望我的应用程序更改 3d 模型。为此,我添加了一个名为 setupQ
这是它的代码:
// To Setup Next 3dModel
public void SetupQ(string ModelS)
{
// SET 3d Model
ModelVisual3D device3D = new ModelVisual3D();
device3D.Content = Display3d(ModelS);
// Add to view port
viewPort3d.Children.Add(device3D);
}
Display3D 函数:
private Model3D Display3d(string model)
{
Model3D device = null;
try
{
//Adding a gesture here
viewPort3d.RotateGesture = new MouseGesture(MouseAction.LeftClick);
//Import 3D model file
ModelImporter import = new ModelImporter();
//Load the 3D model file
device = import.Load(model);
}
catch (Exception e)
{
// Handle exception in case can not file 3D model
MessageBox.Show("Exception Error : " + e.StackTrace);
}
return device;
}
ModelS
是3d模型的路径。 [路径确实有效]。
如何删除刚添加的 3d 模型,然后添加新的 3d 模型?
- HelixToolKit 是否有替换或清除功能?
好吧,我自己想出了答案,很简单。
- 要清除视口,您可以:
viewPort3d.Children.Clear();
- 这将移除所有灯光,因此您不妨将它们添加回去。
viewPort3d.Children.Add(new DefaultLights());