将矩阵应用于网格后,我打印其旋转参数。 重置网格旋转后,缩放和定位并重新应用相同的矩阵 - 旋转参数不等于之前的参数。
var ctm1 = new THREE.Matrix4();
var ctm2 = new THREE.Matrix4();
ctm1.set(...............);
ctm2.set(...............);
function reset(mesh)
{
mesh.position.set(0,0,0);
mesh.scale.set(5,5,5);
mesh.rotation.set(0,0,0);
}
reset(myMesh);
myMesh.applyMatrix(ctm1);
console.log(myMesh.rotation.x);
reset(myMesh);
myMesh.applyMatrix(ctm2);
reset(myMesh);
myMesh.applyMatrix(ctm1);
console.log(myMesh.rotation.x); //Isn't equal to previous output !!!
Three.js r.58
答案 0 :(得分:5)
three.js渲染器处理更新对象matrix
,以便矩阵与对象position
,rotation
和scale.
由于您未进行render()
来电,因此您需要添加mesh.updateMatrix()
作为reset()
功能的最后一行。
three.js r.58