有没有办法做到这一点?我正在寻找类似于这样的东西:
viewport3dControl.DisplayMode = DisplayMode.Wireframe;
与当前的阴影不同。
或者我必须为每个要显示为线框的对象设置这个吗?如果是这样,该怎么做?
想要实现这个功能并不像你所希望的那么简单,但是通过使用一些库可以完成。请参考:
具体来说,ModelViewer示例有一个“查看 -> 线框”复选框,可以实现你想要的功能。该示例不大,因此您可以了解如何将其应用到您的情况中。
同样的答案也发布在这里:
我看到很多回复都提到了这个问题的第三方解决方案。
对于一个纯WPF解决方案,我从现有的Model3D创建一个新的Model3D,其中每个面都带有一个孔。即将其分成6个新面,每个“线”的宽度与原始面的大小成比例。
之所以这样做是因为它看起来比固定线宽更好,但如果需要,您可以使用固定线宽。
可选地,在黑色中填充中心孔(组中的单独Model3D),然后您就可以隐藏线条。
对于面中的三个点A0、B0和C0,计算AB、AC和BC的中点。新点A1沿着朝向BC的线的1/20处。重复下一个两个点B1和C1。
“线”的6个新面由以下组合表示:
A0, B0, B1
A0, B1, A1
A0, C1, C0
A0, A1, C1
B0, C0, C1
B0, C1, B1
在另一个模型中添加A1、B1和C1以进行隐藏线消除变体。
OnRender()
中绘制一个2D矩形(一条线),对应于变换后的端点。除了提示之外,您根本不需要使用库。 - Rick Sladkey