【问题标题】:Convert weird angles to Unity Rotation将奇怪的角度转换为 Unity Rotation
【发布时间】:2017-11-19 00:47:43
【问题描述】:

因此,正如标题所暗示的,对于我的某个项目,我需要使用某个角度(我相信来自一个虚幻引擎游戏)并旋转 Unity 游戏对象。

这看起来很简单,只是它们的工作方式完全不同...... 一张图值一千字,所以来了图:

非常感谢任何帮助!谢谢

编辑:举个例子

如图所示,这两个系统是如何工作的,想象一下给定一个 45 度的角度,如果我直接使用它,它就不会与另一个系统面对相同的方向。

在源代码中,45 度将是东南,但最终会统一翻译为西南。如果这样更有意义?

【问题讨论】:

  • 你的问题很不清楚。您到底在做什么,结果与您的预期有何不同?
  • 我已经编辑了问题并添加了一个示例
  • 所以一个使用右手规则,另一个使用左手。很容易转换
  • 为什么两个对象一开始就朝向不同的方向?你只想在 y 轴上旋转对象吗?
  • 180 - inputAngle?

标签: c# unity3d rotation


【解决方案1】:

好吧,MickyD 确实是对的,我只是没有正确的词来进行正确的搜索,我只需要将使用右手规则的输入角度转换为左手规则。

me.transform.eulerAngles = new Vector3(0, 0, -inputRotation.y + 180);

感谢输入

【讨论】:

    【解决方案2】:

    我认为您正在要求一个公式将您的角度转换为统一旋转。
    就这么简单。

    float rotation = 180 - angle;
    

    以上公式将角度转换为单位旋转。

    例如,
    角度 => 旋转
    45 => 135
    90 => 90
    -90 => 270
    -180 => 360 180 => 0

    【讨论】:

      猜你喜欢
      • 2018-12-19
      • 2015-11-19
      • 1970-01-01
      • 1970-01-01
      • 2021-03-06
      • 1970-01-01
      • 2015-11-14
      • 2015-03-22
      • 1970-01-01
      相关资源
      最近更新 更多