【问题标题】:Get 2D direction that represents tilt direction of 3D object获取表示 3D 对象倾斜方向的 2D 方向
【发布时间】:2015-02-02 23:57:43
【问题描述】:

我在太空中有一个 3D 对象。这是从自上而下的角度来看的:

Y 朝向我们,所以我们看不到那个轴。它根本没有倾斜,所以它的方向是 Vector2(0,0)。

现在物体正在向前倾斜。它向正 X 轴倾斜。方向现在是 Vector2(0,1)

现在它向左倾斜,它的方向是 Vector(-1,0)

现在,最后,它向前和向左倾斜,它的方向将围绕 Vector(-0.7071, 0.7071)

我使用的是 Unity,所以我可以访问对象的四元数和欧拉角作为 Vector3。如何根据对象的旋转计算对象的倾斜方向?

【问题讨论】:

    标签: c# unity3d quaternions euler-angles


    【解决方案1】:

    据我了解您的想法,您正在寻找法线向量的正交铸造参数(抽象地附加到身体上)。如果它像你所说的那样在 cast 得到值 (0,1) 之后将这个向量向前转。

    您可以通过分解接收该向量的 x 和 y 分量 - 作为两个垂直向量的和,每个向量代表一个分量 (x,0) 和 (0,y)。

    实现该结果的另一种方法是在 3D 空间 P(0,0,1) 中有一个点,它表示此类向量的顶部。现在只需应用旋转矩阵,这个点就会被移向新位置 P(x,y,z),在这里你可以得到你正在寻找的 x 和 y。

    希望我没有搞砸什么。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多