首页 > 解决方案 > 有没有一种方法可以在 C# Unity 中返回(旋转)四元数的 y 分量?

问题描述

因此,在 Unity 编辑器中,旋转的 y 分量显示在变换选项卡中。

它在编辑器中看起来像这样:Rotation X[some number] Y[some number] Z[some number]。

我希望获得 Y 旁边的“某个数字”,但是,我似乎无法直接将四元数分配给双精度数。似乎应该有一种方法可以快速找到这个值,但是,我在文档中找不到任何东西。我需要这个值才能对其执行简单的正弦和余弦。

是否有一种简单的方法可以将其中一个值作为双精度值返回?

标签: c#unity3d

解决方案


四元数由三个虚部和一个实部组成,不能直接编辑。但是,Unity 的 Quaternion 类提供了有用的快捷方式,让您可以这样做,请看以下示例:

Vector3 asEuler = myQuaternion.eulerAngles;
asEuler.y = 123.5f;
myQuaternion = Quaternion.Euler(asEuler);

第一行执行到欧拉表示的转换,这就是您在检查器中看到的那个,它具有 x、y 和 z,它们都是实数(单个)值。在第二行中,有一个明显的值分配。最后,在第三行中,从欧拉表示转换回四元数。


推荐阅读