2016-08-01 99 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); 
} 

據我瞭解此代碼的​​得到軸對象是然後我在前面得到的座標軸上創建四元數,然後將給定的對象旋轉0.05度,最後用代碼的最後一行我將它應用於四元數到我的對象。我得到的問題是它不會增加旋轉,它只是將我的對象設置爲旋轉,我怎樣才能使它增加旋轉而不是設置它?

+0

獲取旋轉和+ 0.05(不知道代碼現在 – Rush2112

回答

0

你爲什麼不使用一個或組合:在該軸上

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

JSFiddle