检查器显示与脚本不同的旋转

时间:2018-12-09 13:16:28

标签: unity3d

我想读出相机的X轴旋转方向。

检查员告诉我“旋转X = 10”。

我想通过代码检索此值。 因此,我向玩家的游戏对象添加了一个脚本,并将摄影机指定为“摄影机”。

然后我使用了这段代码:

void Start()
{
    Debug.Log("RotX World: " + camera.transform.rotation.x.ToString());
    Debug.Log("RotX Local: " + camera.transform.localRotation.x.ToString());

这将导致值“ 0.08715578”而不是“ 10”(由检查员显示)。

我在这里想念什么?

谢谢!

enter image description here

1 个答案:

答案 0 :(得分:0)

我找到了解决方案,我必须像这样使用eulerAngles,而不是camera.transform.rotation。

存储旋转的正确方法是在Vector3中,如下所示:

_CameraRot = new Vector3(camera.transform.rotation.eulerAngles.x, camera.transform.rotation.eulerAngles.y, camera.transform.rotation.eulerAngles.z);

我想知道检查员在“旋转”下显示的内容实际上是eulerAngles吗?