Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Three.js获取场景的所有顶点、边和三角形信息_Three.js - Fatal编程技术网

如何使用Three.js获取场景的所有顶点、边和三角形信息

如何使用Three.js获取场景的所有顶点、边和三角形信息,three.js,Three.js,如何使用Three.js获取场景的所有顶点 有任何方法可以获得场景中的总顶点,如MAYA或3DS MAX 我用obj loader加载了一些3d模型,我想知道如何获取场景中的所有顶点、边或三角形 像scene.get(顶点)或场景。获取(边)为您执行此操作。 可以查看源代码 或者,您可以查看场景中的.children数组,查找三个.Mesh中具有几何体.vertices数组的实例。 例如,在第页的控制台中输入scene.children[0].geometry.vertices,将获得立方体顶点

如何使用Three.js获取场景的所有顶点

有任何方法可以获得场景中的总顶点,如MAYA或3DS MAX

我用obj loader加载了一些3d模型,我想知道如何获取场景中的所有顶点、边或三角形

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中没有边缘结构