我已经像这样使用 Helix 工具加载了一个 3d 模型
modelGroupScull = importer.Load("C:\\Users\\Robert\\Desktop\\a.obj");
GeometryModel3D modelScull = (GeometryModel3D)modelGroupScull.Children[0];
我也有 _3DTools 可以在 3d 空间中从点到点画线。现在要绘制我的 GeometryModel3D 的线框,我想我必须循环到它的顶点并将它们添加到 ScreenSpaceLines3D。
ScreenSpaceLines3D wireframe = new ScreenSpaceLines3D();
// need to cycle through all vertexes of modelScull as Points, to add them to wireframe
wireframe.Points.Add(new Point3D(1, 2, 3));
wireframe.Color = Colors.LightBlue;
wireframe.Thickness = 3;
Viewport3D1.Children.Add(wireframe);
但是......我如何真正得到这个顶点?
编辑:
感谢你的回答。它确实增加了积分
ScreenSpaceLines3D wireframe = new ScreenSpaceLines3D();
MeshGeometry3D mg3 = (MeshGeometry3D)modelScull.Geometry;
foreach (Point3D point3D in mg3.Positions)
{
wireframe.Points.Add(point3D);
}
wireframe.Color = Colors.LightBlue;
wireframe.Thickness = 1;
Viewport3D1.Children.Add(wireframe);
但线框搞砸了)
(来源:gyazo.com)
也许有人知道绘制线框的其他方法?)