2016-08-01 84 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