我有一个Object3D
,有很多级别的孩子(更多的Object3Ds或Meshes / Lines)。 Box3
类有一个setFromObject()
方法,它将计算一个对象及其所有后代的边界框。这是我正在寻找的行为。
但是,我无法使用setFromObject()
的{{1}}方法,因为我没有使用Box3
个对象。相反,我正在处理的项目仅使用Geometry
。 BufferGeometry
个对象没有BufferGeometry
属性,这是.vertices
函数在计算边界框时所查找的属性。
setFromObject()
我一直在尝试使用var bbox = new THREE.Box3().setFromObject(object);
console.log(bbox.min); // x, y, and z are all Infinity.
console.log(bbox.max); // x, y, and z are all -Infinity.
的{{1}}方法,但是在操作几何体时似乎没有更新边界框。我认为它可能与computeBoundingBox()
BufferGeometry
有关,但我也尝试明确调用matrixAutoUpdate
无效。
如果使用false
类,有没有办法计算updateMatrix()
及其所有后代的边界框?我是Three.js的新手,所以任何帮助都会受到赞赏!
我正在使用Three.js r66。
答案 0 :(得分:1)
Box3.setFromObject( object )
现在支持BufferGeometry
。
three.js r.69dev(开发版)