Object3D.rotateOnWorldAxis()
方法是 Three.js 中 Object3D 类的一个方法,它可以将物体围绕世界坐标系的指定轴旋转。
rotateOnWorldAxis( axis: Vector3, angle: Number )
axis
:一个 Vector3 类型的参数,表示围绕哪一个轴进行旋转。注意,该向量必须是归一化的(即长度为 1),否则旋转效果会受到影响。angle
:一个 Number 类型的参数,表示旋转的角度(单位为弧度)。该方法没有返回值,它会直接修改对象的旋转状态。
以下代码演示了如何使用 rotateOnWorldAxis()
方法将一个立方体绕全局 Y 轴旋转 45 度:
const box = new THREE.Mesh(
new THREE.BoxGeometry(1, 1, 1),
new THREE.MeshBasicMaterial({ color: 0xff0000 }),
);
// 将 box 对象添加到场景中
const axis = new THREE.Vector3(0, 1, 0).normalize();
const angle = Math.PI / 4;
box.rotateOnWorldAxis(axis, angle);
axis
必须是归一化的,否则旋转效果会不正常。angle
的单位是弧度,而不是角度。如果需要将度数转换为弧度,可以使用 THREE.Math.degToRad(degrees)
方法。Object3D.clone()
方法对原始对象进行克隆。