首页 > 解决方案 > Unity:仅围绕对象 y 轴旋转,但有问题的对象已经改变了旋转

问题描述

就像标题说的那样,我本质上想将 gameobject1 的 y 旋转设置为 gameobject2,但 gameobject1 已经将旋转更改为 0,0,0 度以外的其他值。例如,旋转是 34、50、16。由于旋转发生了变化,轴也发生了变化,这意味着它们不再指向 x、y 和 z 方向。因此,如果我们试图让 y 轴旋转,我们最终会得到右侧轴的旋转,因为 y 轴已经移动到那里。

对不起,如果我真的对此含糊不清,因为它已经很晚了,所以无法更好地解释这个问题,我已经尝试连续三天解决这个问题。因此,非常感谢任何帮助。

标签: unity3daxisquaternionseuler-angles

解决方案


使用 transform.RotateAround(target, Vector3.up, float yourRotation),其中您的问题 target = Vector3.zero。请参阅此处的文档:https ://docs.unity3d.com/ScriptReference/Transform.RotateAround.html


推荐阅读