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

Three.js r.58

4

1 に答える 1

5

three.js レンダラーはオブジェクトの更新を処理するmatrixため、マトリックスはオブジェクトのposition、、rotationおよびscale.

呼び出しを行わないため、関数の最後の行としてrender()追加する必要があります。mesh.updateMatrix()reset()

three.js r.58

于 2013-06-21T16:51:20.657 に答える