ThreeJS GLTFLoader 从GLB模型中获取顶点、边、面和三角形
ThreeJS GLTFLoader Get Vertices, Edges, Faces And Triangles From GLB Model
对于我的模型查看器,我想显示有关模型的一些基本信息。基本上我想得到我的对象的顶点、边、面和三角形数或至少顶点数。
到目前为止,我已经尝试这样做了:
gltf.scene.traverse( function ( child ) {
if ( child.isMesh ) {
console.log(child.geometry.vertices)
}
})
然而这个 returns undefinded
因此似乎不起作用。 geometry
部分属于 BufferGeometry 类型,但我似乎找不到获取所需信息的方法。
我也试过用这个:
console.log(child.geometry.attributes.position.count)
这确实 return 一些数字..但是我不知道这是顶点数还是其他东西。
如何获取模型的顶点数,最好还有边、面和三角形?
Which does infact return some number.. however I have no idea if this is the vertex count or something else entirely.
的确是顶点数
如果你想计算面的数量(这只是三角形的同义词),这取决于几何是否被索引。如果它有索引,你可以这样做:
const faceCount = child.geometry.index.count / 3;
否则为:
const faceCount = child.geometry.attributes.position.count / 3;
你也得自己计算边数。通常它只是面数乘以三。
对于我的模型查看器,我想显示有关模型的一些基本信息。基本上我想得到我的对象的顶点、边、面和三角形数或至少顶点数。
到目前为止,我已经尝试这样做了:
gltf.scene.traverse( function ( child ) {
if ( child.isMesh ) {
console.log(child.geometry.vertices)
}
})
然而这个 returns undefinded
因此似乎不起作用。 geometry
部分属于 BufferGeometry 类型,但我似乎找不到获取所需信息的方法。
我也试过用这个:
console.log(child.geometry.attributes.position.count)
这确实 return 一些数字..但是我不知道这是顶点数还是其他东西。
如何获取模型的顶点数,最好还有边、面和三角形?
Which does infact return some number.. however I have no idea if this is the vertex count or something else entirely.
的确是顶点数
如果你想计算面的数量(这只是三角形的同义词),这取决于几何是否被索引。如果它有索引,你可以这样做:
const faceCount = child.geometry.index.count / 3;
否则为:
const faceCount = child.geometry.attributes.position.count / 3;
你也得自己计算边数。通常它只是面数乘以三。