在Unity3D C#中获取精确的旋转角度

本文关键字:旋转 Unity3D 获取 | 更新日期: 2023-09-27 18:26:32

所以我试图在Unity中制作一个模拟船只运动的程序。这包括当船撞到什么东西时会发生什么。虽然船移动得很好,但我返回的航向值不是弧度或度数。这是我用来确定航向的代码:

  void getHdg()
  {
    float temp = this.transform.rotation.z;
    craft.ChangeHeading(temp);
  }

我访问的每个网站都建议使用欧拉角,但据我所见,它们只在按键时更新。

我需要一种方法:

  • 每当船转弯时更新航向(即使与其他物体发生碰撞)
  • 或者将transform.rotation代码中的伪vaules转换为度

在Unity3D C#中获取精确的旋转角度

代码有两个问题:

  1. 代码检查的是z轴,而不是y轴
  2. 需要测试不断更新的欧拉角

这是正确的代码:

void getHdg()
{
    float temp = this.transform.eulerAngles.y;
    craft.ChangeHeading(temp);
}