如何使特定的 3d 模型透明?是否像改变模型材质的不透明度一样简单?
我尝试了以下方法:
SolidColorBrush br = (SolidColorBrush)matDif.Brush; //matDif = DiffuseMaterial
br.Opacity = 0.3;
当它尝试设置不透明度时,它说它处于只读状态并且无法更改?
如何使特定的 3d 模型透明?是否像改变模型材质的不透明度一样简单?
我尝试了以下方法:
SolidColorBrush br = (SolidColorBrush)matDif.Brush; //matDif = DiffuseMaterial
br.Opacity = 0.3;
当它尝试设置不透明度时,它说它处于只读状态并且无法更改?
尝试
Color c = new Color();
c.A = 128;
c.R = Colors.PeachPuff.R;
c.G = Colors.PeachPuff.G;
c.B = Colors.PeachPuff.B;
Material Material = new DiffuseMaterial(new SolidColorBrush(c));
为我工作
在此页面上(诚然是 XAML 而不是 C#,它具有以下内容:
<GeometryModel3D.Material>
<DiffuseMaterial Brush="#8000FFFF" />
</GeometryModel3D.Material>
<GeometryModel3D.BackMaterial>
<DiffuseMaterial Brush="#80FF0000" />
</GeometryModel3D.BackMaterial>
所以看起来你只是将画笔设置为 ARGB 颜色。
social.msdn 上的这个线程有一些看起来很有趣的链接。我没有全部看过,但其中一些可能有用。