【问题标题】:Unity: ONLY rotate around an objects y axis, but the object in question already has changed rotationUnity:仅围绕对象 y 轴旋转,但有问题的对象已经改变了旋转
【发布时间】:2020-06-17 01:45:01
【问题描述】:

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

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

【问题讨论】:

    标签: unity3d axis quaternions euler-angles


    【解决方案1】:

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

    【讨论】:

    • 我已经非常接近这种方法了,但是仍然有一些罕见的情况会突然翻转。
    • 翻转?围绕另一个轴?
    • 是的,不过可能是我搞砸了。无论如何,我自己用不同的方法解决了这个问题,谢谢你的时间!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-02-10
    • 2018-08-02
    • 1970-01-01
    • 2015-01-06
    • 2021-09-13
    • 1970-01-01
    相关资源
    最近更新 更多