将旋转矩阵应用于 Three.Box3

apply rotationmatrix to Three.Box3

将网格旋转应用到 THREE.Box3 对象的正确方法是什么? 我看到 Box3 有一个 applyMatrix 函数,所以我尝试从我创建的网格旋转中应用一个矩阵:

var mat4 = new THREE.Matrix4().makeRotationFromEuler(obj3d.rotation)
box3.applyMatrix4(mat4)

但旋转/位置与网格不匹配。

您需要获取对象的全局变换,然后将其应用于bbox。

var mat4 = new THREE.Matrix4();
mat4.extractRotation( obj3d.matrixWorld );
box3.applyMatrix( mat4 );