2016-08-01 10 views
0

私の目標は、宇宙船のようなオブジェクトコントロールを作ることです。私が理解するところは、この目標を達成するために四元数を使う必要があるということです。私はこのコードを理解したようThree.jsがローカルオブジェクトの回転を増やす

if(controls.pressingA === true) 
{ 
    //var pLocal = new THREE.Vector3(0, 0, -1); 
    //var pWorld = pLocal.applyMatrix4(me.matrixWorld); 
    //var dir = pWorld.sub(me.position).normalize(); 
    var dir = me.getWorldDirection(); 
    var quaternion = new THREE.Quaternion().setFromAxisAngle(dir, 0.05); 
    me.rotation.setFromQuaternion(quaternion); 
} 

が​​がオブジェクトであるという軸を取得します:開始のために私はキーを押すと左に回転を開始するために私のキューブを作成しようとしている、これはそのためのコードです私は以前に得た軸上に四元数を作成し、与えられたオブジェクトをradで0.05度回転させ、最後に最後のコード行で私のオブジェクトに四元数を適用します。私が得た問題は、それが回転を増加させないことです、それはちょうど回転に私のオブジェクトを設定する、私はそれを設定する代わりに回転を増加させることができますか?

+0

のGetその軸上で回転し、+ 0.05(今のコードを知りません – Rush2112

答えて

0
あなたがの一つまたは組み合わせを使用していないのはなぜ

mesh.rotation.x += 0.05; 
mesh.rotation.y += 0.05; 
mesh.rotation.z += 0.05; 

JSFiddle

関連する問題