如何设置对象沿世界 x 轴旋转 90 度?

How to set rotation of object 90 degrees along world x-axis?

基本上我想设置物体沿世界轴旋转任意角度。我目前正在使用 rotateAroundWorldAxis 函数(在另一个线程中找到)来尝试这样做。

function render() {

  // update mesh position
  rotateAroundWorldAxis(mesh, new THREE.Vector3(1, 0, 0), angle);

  renderer.render(scene, camera);

}

function rotateAroundWorldAxis(object, axis, radians) {

  rotWorldMatrix = new THREE.Matrix4();
  rotWorldMatrix.makeRotationAxis(axis.normalize(), radians);
  rotWorldMatrix.multiply(object.matrix); // pre-multiply
  object.matrix = rotWorldMatrix;
  object.rotation.setFromRotationMatrix(object.matrix);

}

问题是我只想设置角度(如rotation.x =角度),而不是增加 (如 rotation.x += 角度)。有人知道如何调整上述函数 (rotateAroundWorldAxis) 以允许我设置角度而不是增加角度吗?

jsfiddle here

删除该函数中的第三行

rotWorldMatrix.multiply(object.matrix); // pre-multiply

这是"adds"两个旋转在一起的线。