Box3.expandByObject()
是 three.js
库中的一个方法,用于将一个 Object3D
对象的包围盒范围(Box3
)扩展至包含该对象及其所有子对象的范围。
expandByObject( object )
object
:要扩展包围盒的 Object3D
对象。const box = new THREE.Box3();
const obj = new THREE.Object3D();
obj.position.set(1, 2, 3);
obj.scale.set(2, 2, 2);
box.expandByObject(obj);
console.log(box.min); // Vector3(-1, 0, 1)
console.log(box.max); // Vector3(3, 6, 9)
Box3.expandByObject()
方法会遍历 object
对象及其所有子对象,并将它们的范围合并到 Box3
包围盒中。
在合并子对象的包围盒时,所有子对象都将被展开,并且从它们的世界坐标系上的位置重新计算。然后,所有子对象的包围盒将合并到当前 Box3
包围盒中。
如果需要在添加完所有子对象后手动重新计算 Box3
包围盒,可以使用 Box3.makeEmpty()
和 Box3.expandByPoint()
方法重新设置。
如果 object
中有网格(Mesh
)对象,则使用他们的位置和几何信息来计算包围盒。