使用Three.js朝3D方向旋转

时间:2017-10-15 21:48:34

标签: javascript animation 3d three.js rotation

我有一个简单的锥体在3D空间中飞行(连续的卷曲噪声类型的运动和相机跟随它):

enter image description here

我试图了解根据其方向旋转锥体的正确方法是什么。我得到了以下内容(假设velocityVector3):

cone.rotation.y = Math.atan2(-velocity.z, velocity.x)
cone.rotation.z = Math.asin(velocity.y / velocity.length())

我从three.js例子中复制了这个:https://github.com/mrdoob/three.js/blob/master/examples/canvas_geometry_birds.html

这样可行,但有时锥体会突然移动而没有任何明显的原因(与可怕的"万向节锁定有关"可能?)。

有人可以解释一下这里3D旋转的原理是什么,以及实时更新旋转的最佳或最有效的方法是什么(可能使用矩阵)?

0 个答案:

没有答案