2016-04-11 15 views
0

基本的には、オブジェクトの回転を世界軸に沿って任意の角度に設定したいと考えています。私は現在、(別のスレッドで見つかった)rotateAroundWorldAxis関数を使ってそれを試みています。オブジェクトの回転をワールドx軸に沿って90度に設定する方法は?

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

答えて

0

これは2つの回転を "追加" という行である関数で

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

を第三の行を削除します。

関連する問題