【发布时间】:2018-02-20 16:49:52
【问题描述】:
我发现旋转有问题。 使用变换控制助手,如果我在 Y 轴上旋转一个网格,当我达到 90 度时,所有东西都会翻转 -180 度。
我认为这是由于软件避免了云台锁定,如何避免它? 也就是说,我希望 x 和 z 角在显示中保持 0 度。
我什至在 threejs 编辑器 (https://threejs.org/editor/) 上进行了尝试,它甚至出现在那里。 请帮帮我:)!
【问题讨论】:
标签: three.js
我发现旋转有问题。 使用变换控制助手,如果我在 Y 轴上旋转一个网格,当我达到 90 度时,所有东西都会翻转 -180 度。
我认为这是由于软件避免了云台锁定,如何避免它? 也就是说,我希望 x 和 z 角在显示中保持 0 度。
我什至在 threejs 编辑器 (https://threejs.org/editor/) 上进行了尝试,它甚至出现在那里。 请帮帮我:)!
【问题讨论】:
标签: three.js
您所描述的与云台锁无关。
three.js 是基于四元数的。为方便起见,提供了等效的欧拉角表示。
欧拉角不是唯一的;有许多欧拉角代表相同的方向。请参阅this answer 了解欧拉角在three.js 中的工作原理。
如果您只想在 y 轴上旋转对象,并让 object.rotation.y 连续,您可以通过更改旋转顺序来实现,如下所示:
object.rotation.order = 'YXZ';
three.js r.87
【讨论】: