Geometry类documentation解释了需要手动计算边界框和球体。但不是为什么以及何时这样做。
创建或更改Geometry对象时是否始终需要计算它们?
或者只有我的代码使用它们?
computeCentroids(),computeFaceNormals(),computeVertexNormals(),computeMorphNormals()和computeTangents()怎么样?
答案 0 :(得分:1)
在我结束添加顶点,面等之后,在创建具有几何体的网格之前,我总是调用所需的计算方法:
geometry.vertices.push(...);
...
geometry.faces.push(...);
...
geometry.computeCentroids();
geometry.computeFaceNormals();
geometry.computeBoundingSphere();
mesh = new THREE.Mesh(geometry, material);
我想说如果你在运行时修改模型,你应该在完成修改后调用它。