在OBB(Oriented Bounding Box)中,rotation(旋转)指的是改变盒子的方向和朝向。旋转可以通过一个四元数(quaternion)来表示,四元数包括一个实数和三个虚数,用来描述旋转矩阵的方向。
setFromQuaternion(quaternion)
设置盒子的旋转矩阵,输入参数为四元数。
obb.rotation.setFromQuaternion(quaternion);
setFromEuler(euler)
设置盒子旋转矩阵,输入参数为欧拉角(Euler angles)。欧拉角可以通过三个角度来描述旋转矩阵的方向,分别是绕x轴的角度、绕y轴的角度和绕z轴的角度。本方法会将欧拉角转换为对应的四元数。
obb.rotation.setFromEuler(euler);
lookAt(direction)
使盒子朝向一个方向,即将盒子的方向矩阵设置为朝向该方向的旋转矩阵。
obb.rotation.lookAt(direction);
quaternion
表示盒子旋转矩阵的四元数。
obb.rotation.quaternion;
x
、y
、z
表示欧拉角的三个角度,分别对应盒子绕x轴、y轴、z轴的旋转角度。这些角度的值为弧度制,可以通过将其转换成角度制来获取角度值。
obb.rotation.x; // x轴的旋转角度
obb.rotation.y; // y轴的旋转角度
obb.rotation.z; // z轴的旋转角度