有什么方法可以在WPF中为Model3D添加颜色吗?
Is there any way to add color to Model3D in WPF?
我正在用 WPF 编写程序。我正在使用 HelixToolkit 从文件加载模型(我需要从文件加载多个模型),如下所示:
var importer = new HelixToolkit.Wpf.ModelImporter();
Model3D triangle = importer.Load("hand.obj");
ModelVisual3D Model = new ModelVisual3D();
Model.Content = triangle;
MainViewPort.Children.Add(Model);
而且我需要从 HelixToolkit 获取的整个 Model3D 更改颜色(例如,它应该是红色或黑色)。我还需要实时进行。
我发现了这个:http://csharphelper.com/blog/2014/10/apply-textures-to-triangles-using-wpf-and-c/,但在这种情况下,模型是在程序内部生成的,我需要做的是从外部文件中对模型进行同样的操作。
我该怎么做?
感谢@dominik,终于弄明白怎么做了!
这是我的解决方案:
var importer = new HelixToolkit.Wpf.ModelImporter();
var point = importer.Load("hand.obj");
GeometryModel3D model = point.Children[0] as GeometryModel3D;
DiffuseMaterial material = new DiffuseMaterial(new SolidColorBrush(Colors.Black));
model.Material = material;
我正在用 WPF 编写程序。我正在使用 HelixToolkit 从文件加载模型(我需要从文件加载多个模型),如下所示:
var importer = new HelixToolkit.Wpf.ModelImporter();
Model3D triangle = importer.Load("hand.obj");
ModelVisual3D Model = new ModelVisual3D();
Model.Content = triangle;
MainViewPort.Children.Add(Model);
而且我需要从 HelixToolkit 获取的整个 Model3D 更改颜色(例如,它应该是红色或黑色)。我还需要实时进行。
我发现了这个:http://csharphelper.com/blog/2014/10/apply-textures-to-triangles-using-wpf-and-c/,但在这种情况下,模型是在程序内部生成的,我需要做的是从外部文件中对模型进行同样的操作。
我该怎么做?
感谢@dominik,终于弄明白怎么做了! 这是我的解决方案:
var importer = new HelixToolkit.Wpf.ModelImporter();
var point = importer.Load("hand.obj");
GeometryModel3D model = point.Children[0] as GeometryModel3D;
DiffuseMaterial material = new DiffuseMaterial(new SolidColorBrush(Colors.Black));
model.Material = material;