如何从视口中删除 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;
        }

如何删除刚添加的 3d 模型,然后添加新的 3d 模型?

好吧,我自己想出了答案,很简单。

  • 要清除视口,您可以:
viewPort3d.Children.Clear();
  • 这将移除所有灯光,因此您不妨将它们添加回去。
viewPort3d.Children.Add(new DefaultLights());