我一直在嘗試在3D空間中創建飛船。它飛向前方。您可以通過滾動飛船來改變方向並上下傾斜鼻子。Three.js在它自己的軸上旋轉
當我改變宇宙飛船的Z角時,它按預期滾動。當我改變宇宙飛船的X角時,鼻子會向上和向下傾斜。當我做這兩個不按預期工作。
看來我的太空飛船正在旋轉在世界的軸上,而不是我的太空船的軸。我的意思是,當一個物體旋轉時,它的軸是否正確?顯然不是。
像往常一樣,非常感謝幫助。
這裏是顯然不行的演示:http://www.timseverien.nl/random/ohnoez/
我一直在嘗試在3D空間中創建飛船。它飛向前方。您可以通過滾動飛船來改變方向並上下傾斜鼻子。Three.js在它自己的軸上旋轉
當我改變宇宙飛船的Z角時,它按預期滾動。當我改變宇宙飛船的X角時,鼻子會向上和向下傾斜。當我做這兩個不按預期工作。
看來我的太空飛船正在旋轉在世界的軸上,而不是我的太空船的軸。我的意思是,當一個物體旋轉時,它的軸是否正確?顯然不是。
像往常一樣,非常感謝幫助。
這裏是顯然不行的演示:http://www.timseverien.nl/random/ohnoez/
退房四元。在ThreeJS中,你想看的類是THREE.Quaternion。
四元數通常用於飛行模擬遊戲,並允許您在飛行器的局部空間中旋轉,而不會獲得「萬向節鎖定」。 (這時候,你的兩個軸成爲平行的,而你失去了一個自由度。)
這是一個相當不錯的,挺搞笑的,四元的解釋是: http://www.isner.com/tutorials/quatSpells/quaternion_spells_14.htm
我希望把你的正確的軌道......
對於Google員工:['Object3D.rotateOnAxis(axis,angle);'](http://threejs.org/docs/#Reference/Core/Object3D) –
是,無論是或者:[quaternion = new THREE。 Quaternion()。setFromAxisAngle(axisOfRotation,angleOfRotation); object.rotation.setEulerFromQuaternion(quaternion);](http://threejs.org/docs/#Reference/Math/Quaternion) –