基本上我想将对象沿世界轴的旋转设置为任意角度。我目前正在使用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 = angle),而不是增量它(如在旋转.x + =角度) 。有没有人知道如何调整上述函数(rotateAroundWorldAxis)以允许我设置角度而不是增加角度?
答案 0 :(得分:0)
删除该功能中的第三行
rotWorldMatrix.multiply(object.matrix); // pre-multiply
这是将两个旋转“加”在一起的线。