我什么时候应该调用Geometry.computeBoundingBox()等?

时间:2013-12-22 21:27:00

标签: three.js

Geometry类documentation解释了需要手动计算边界框和球体。但不是为什么以及何时这样做。

创建或更改Geometry对象时是否始终需要计算它们?

或者只有我的代码使用它们?

computeCentroids(),computeFaceNormals(),computeVertexNormals(),computeMorphNormals()和computeTangents()怎么样?

1 个答案:

答案 0 :(得分:1)

在我结束添加顶点,面等之后,在创建具有几何体的网格之前,我总是调用所需的计算方法:

   geometry.vertices.push(...);
   ...
   geometry.faces.push(...);
   ...            
   geometry.computeCentroids();
   geometry.computeFaceNormals();
   geometry.computeBoundingSphere();
   mesh = new THREE.Mesh(geometry, material);

我想说如果你在运行时修改模型,你应该在完成修改后调用它。