1

将矩阵应用于网格后,我打印其旋转参数。重置网格旋转、缩放和位置并重新应用相同的矩阵后 - 旋转参数不等于以前的参数。

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 !!!

三.js r.58

4

1 回答 1

5

three.js 渲染器处理对象的更新matrix,使矩阵与对象的position, rotation, 和scale.

由于您不render()拨打电话,因此您需要添加mesh.updateMatrix()reset()函数的最后一行。

三.js r.58

于 2013-06-21T16:51:20.657 回答