我使用Three.js中的GLTFLoader来加载glb文件,之前使用的是JSONLoader。访问已加载网格的顶点很容易:
meh.geometry.vertices
然而,当使用GLTFloader加载网格时,我无法找到顶点在哪里?
我需要操纵每个单独的顶点以进行某些粒子动画。
谢谢。
我使用Three.js中的GLTFLoader来加载glb文件,之前使用的是JSONLoader。访问已加载网格的顶点很容易:
meh.geometry.vertices
然而,当使用GLTFloader加载网格时,我无法找到顶点在哪里?
我需要操纵每个单独的顶点以进行某些粒子动画。
谢谢。
使用console.log(gltf)查看JSON文件,然后您将在场景中找到所有内容。要访问网格,请使用gltf.scene.traverse(function(child){if(child.isMesh){child.geometries.attributes...}}
THREE.BufferGeometry()
和THREE.Mesh()
创建的,因此它们的顶点将存储在缓冲属性中,例如object.geometry.attributes.position
。 - prisoner849BufferAttribute
时非常有用的方法。它会自动从给定的BufferAttribute
和索引中提取向量组件。一般来说,与Geometry
相比,使用BufferGeometry
要稍微困难一些,但它是几何数据更高效的表示方式。使用它是值得的。 - Mugen87