1

我需要创建一个透明的 GeometryModel3D。
像这样:
像这样:


我试过这段代码:

var m = new Model3DGroup();
var panelsGeometry = MyMeshGeometry3D;
        Brush br = new SolidColorBrush(Colors.Red);
        br.Opacity = 0.5;
        m.Children.Add(new GeometryModel3D(panelsGeometry, new DiffuseMaterial(br)) { BackMaterial= new DiffuseMaterial(br) });


但结果我得到了这个:
在此处输入图像描述


我究竟做错了什么?谢谢。

4

3 回答 3

0

您可以使用带有 的透明图像ImageBrush,一个像素就足够了,但您需要TextureCoordinates在网格对象上进行设置。

于 2012-06-12T10:29:59.053 回答
0

确保您的盒子网格几何包含 24 个点。如果您的框包含最少数量的点 (8),则不会渲染后面的面。

例如,请参见此处

您可以下载 Normals3D.zip 并更改完整网格框的画笔不透明度以获得所需的效果。

于 2013-10-20T06:34:51.637 回答
0

您需要使用 TextureCoordinates 并且您必须订购从后到前绘制的侧面,以便它们正确融合。WPF 不这样做。

这篇文章

于 2012-06-12T10:36:23.293 回答