如何从视口中删除3dModel [HelixToolKit WPF]

pod7payv  于 2023-01-27  发布在  其他
关注(0)|答案(2)|浏览(166)

我正在尝试创建一个包含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);
        }

显示3D功能:

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是否具有替换或清除功能?
2ul0zpep

2ul0zpep1#

嗯,我自己也想到了答案,很简单。

  • 要清除视区,您可以:
viewPort3d.Children.Clear();
  • 这将移除所有灯光,因此您可能希望将这些灯光添加回去。
viewPort3d.Children.Add(new DefaultLights());
bkkx9g8r

bkkx9g8r2#

您可以用途:

viewPort3d.Children.Remove(yourModel);

相关问题