【发布时间】:2019-03-05 07:14:32
【问题描述】:
我正在 Three.js 中使用 GLTFLoader 加载一个 glb 文件: 在我使用 JSONLoader 之前。访问加载网格的顶点很容易:
meh.geometry.vertices
但是当查看使用 GLTFloader 加载的网格时,我就是找不到,顶点在哪里?
我需要为一些粒子动画操作每个顶点。
谢谢
【问题讨论】:
-
您必须查看已加载对象的子对象。它们应该是
THREE.Mesh()和THREE.BufferGeometry(),因此它们的顶点存储在缓冲区属性中,例如object.geometry.attributes.position。 -
感谢您的快速回复。有没有办法将这个“位置”用作vector3?在我可以对单个顶点进行乘法、加法和减法之前。现在看来我必须首先将数组分成三组,然后从该分隔中创建一个vector3,然后乘法、加法、减法等,然后将值写回数组。我很确定,我在这里监督一些事情.. 对不起,如果这个问题很愚蠢:)
-
Vector3.fromBufferAttribute 是使用
BufferAttribute的一种有价值的方法。它会自动从给定的BufferAttribute和索引中提取向量分量。一般来说,使用BufferGeometry比使用Geometry更难,但它是几何数据的更有效表示。使用它是值得的。 -
完美,这就是解决方案!非常感谢!
标签: javascript three.js vertices