我正在尝试使用HelixToolkit显示下面描述的3D模型。(以下快照取自SolidWorks。)
我将用作我的DiffuseMaterial
的Material
和BackMaterial
的GeometryModel3D
的刷子颜色设置为同体颜色。
Model3DGroup faceVisualEntity = ModelFaces.First(modelFace => modelFace.Content.GetName() == faceName).Content as Model3DGroup;
// Breaking the 3D-model down to the constituting mesh..
//
foreach (var child in faceVisualEntity.Children)
{
if (child is GeometryModel3D)
{
GeometryModel3D body = child as GeometryModel3D;
body.Material = new DiffuseMaterial(new SolidColorBrush("#40FF0000"));
body.BackMaterial = new DiffuseMaterial(new SolidColorBrush("#40FF0000"));
}
}
但是,我在HelixViewport3D
中可以看到的如下所示。
虽然盒子的两边似乎是透明的,但我不知道为什么盒子里的管道看不到。我还将管壁的颜色更改为不透明的值,但还看不到它们。
发布于 2016-02-05 00:51:06
事实上,使用HelixToolkit的透明特性并不是通过改变模型表面材料的α通道来实现的。实际上,在HelixToolkit代码中有一个例子表明,需要一个SortingVisual3D
来支持模型的透明度。因此,我首先将SortingVisual3D
的一个实例添加到HelixViewport3D
中,然后将Visual3D对象(如ModelVisual3D
、LinesVisual3D
等)添加到其中。因此,我现在能看到的如下所示。
https://stackoverflow.com/questions/35167471
复制相似问题