如何使用Three.js获取场景的所有顶点、边和三角形信息
如何使用Three.js获取场景的所有顶点 有任何方法可以获得场景中的总顶点,如MAYA或3DS MAX 我用obj loader加载了一些3d模型,我想知道如何获取场景中的所有顶点、边或三角形 像如何使用Three.js获取场景的所有顶点、边和三角形信息,three.js,Three.js,如何使用Three.js获取场景的所有顶点 有任何方法可以获得场景中的总顶点,如MAYA或3DS MAX 我用obj loader加载了一些3d模型,我想知道如何获取场景中的所有顶点、边或三角形 像scene.get(顶点)或场景。获取(边)为您执行此操作。 可以查看源代码 或者,您可以查看场景中的.children数组,查找三个.Mesh中具有几何体.vertices数组的实例。 例如,在第页的控制台中输入scene.children[0].geometry.vertices,将获得立方体顶点
scene.get(顶点)代码>或场景。获取(边)代码>为您执行此操作。
可以查看源代码
或者,您可以查看场景中的.children
数组,查找三个.Mesh
中具有几何体.vertices
数组的实例。
例如,在第页的控制台中输入scene.children[0].geometry.vertices
,将获得立方体顶点的数组
编辑…
或者更好,正如WestLangley指出的那样,检查renderer.info
对象renderer.info
是一个3.js对象,它统计绘制调用和渲染原语的数量。它还显示正在使用的几何体、纹理和着色器程序的数量
console.log( renderer.info );
three.js r.84这个问题没有一个简单的答案
在three.js几何图形中不显示边,有几种不同的显示方式
顶点可以属于三角形汤或索引网格,这意味着相同数量的三角形的数量不同
另一方面,如果使三角形与几何体
和缓冲几何体
一起存在,则三角形是完全不同的Geometry
有一个相当复杂的Face3
类,BufferGeometry
有一个类型化数组,其中三个数字可以表示一个三角形
如果您想调试应用程序并查看是否意外创建了超过需要的几何体(错误克隆或其他原因),请按照WestLangley的建议使用renderer.info
如果你想采用其他人的语义学,那么在另一个答案中使用类似rstats的工具
如果您需要特定于您的需求的东西,您可以问一些问题,如“重要的是大小,因为我可能还应该将UV计算为顶点”、“它是否太大而无法作为几何体保存在内存中”、“我是否只对顶点变换性能感兴趣”等等。您可以使用以下工具获取场景的所有子对象:
scene.children
然后你循环通过它:
for (var i = 0; i < scene.children.length; i++) {
scene.children[i].geometry.vertices
}
for(var i=0;i
three.js AFAIK中没有边缘结构