Three.js在它自己的轴上旋转

Tim*_* S. 1 javascript 3d three.js

我一直在努力在3D空间中创造一艘宇宙飞船.它直接前进.您可以通过滚动飞船改变方向并向上和向下倾斜鼻子.

当我改变宇宙飞船的Z角时,它会按预期滚动.当我改变宇宙飞船的X角时,鼻子上下倾斜.当我这两个都没有按预期工作.

看来我的宇宙飞船正在世界的轴上旋转,而不是我的太空船的轴.我的意思是,当一个物体旋转时,它的轴也是正确的?显然不是.

像往常一样,非常感谢帮助.

这个演示显然不起作用:http://www.timseverien.nl/random/ohnoez/

nul*_*ull 5

看看四元数.在ThreeJS中,你要看的课程是THREE.Quaternion.

四元数通常用于飞行模拟风格游戏中,允许您在飞行器的局部空间旋转,而不会获得"万向节锁定".(那时你的两个轴变得平行,你失去了一定的自由度.)

这是一个非常好的,非常有趣的四元数解释:http: //www.isner.com/tutorials/quatSpells/quaternion_spells_14.htm

我希望这能让你走上正轨......