我一直在努力在3D空间中创造一艘宇宙飞船。它直接前进。你可以通过滚动宇宙飞船来改变方向并向上和向下倾斜。
当我改变宇宙飞船的Z角时,它按预期滚动。当我改变宇宙飞船的X角时,鼻子上下倾斜。当我同时执行这两项操作时,不会按预期工作。
看来我的宇宙飞船正在世界轴上旋转,而不是我的宇宙飞船的轴。我的意思是,当一个物体旋转时,它的轴也是正确的?显然不是。
像往常一样,非常感谢帮助。
以下是明显不起作用的演示:http://www.timseverien.nl/random/ohnoez/
答案 0 :(得分:5)
查看四元数。在ThreeJS中,你要看的课程是THREE.Quaternion。
四元数通常用于飞行模拟风格游戏,并允许您在飞行器的局部空间旋转,而不会获得“万向节锁定”。 (那时你的两个轴变得平行,你失去了一定的自由度。)
这是一个非常好的,非常有趣的四元数解释: http://www.isner.com/tutorials/quatSpells/quaternion_spells_14.htm
我希望这会让你走上正轨......
答案 1 :(得分:2)