【问题标题】:Calculate forward and up vectors from euler position and rotation?从欧拉位置和旋转计算前向和向上向量?
【发布时间】:2016-09-26 23:33:59
【问题描述】:

我在 3D 空间中有一个对象,我所拥有的只是欧拉位置和旋转。如何根据我拥有的信息计算前向和向上向量?

我知道可以这样计算前向向量:

Vector3 forward = (target.getPosition() - object.getPosition()).normalize();

.. 其中目标是对象正在查看的轴上的任何点。使用我拥有的信息,我怎样才能以这种方式选择任意点进行归一化?

我完全不知道如何解决“向上”向量。

【问题讨论】:

    标签: math rotation game-engine euler-angles


    【解决方案1】:

    首先从欧拉角创建一个变换矩阵(使用与渲染时相同的方法)。然后直接从中提取向前和向上的轴矢量。例如,我的视图矩阵使用Z 轴用于前进/后退,X 轴用于左/右,所以我只使用这两个。您将在此处找到向量的位置:

    Understanding 4x4 homogenous transform matrices

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-25
      • 2017-10-19
      • 1970-01-01
      • 2015-07-28
      • 1970-01-01
      • 2020-10-16
      • 1970-01-01
      • 2018-10-08
      相关资源
      最近更新 更多