Unity - 将四元数转换为 Vector3

Unity - converting a Quaternion to a Vector3

这样的问题我见多了,问题是——这个问题毫无意义。它们不是一回事,有点像“我如何把苹果变成砖头”?

但通常潜在的问题确实有道理,令人怀疑的是措辞。

我想做的是:

现在,我认为答案是

    Vector3 ans = R * Vector3.forward;

这对吗?如果对,为什么? (如果不对,那答案是什么?)

是的,没错。

Quaternion * Vector3 获取给定的向量并根据给定的旋转旋转它。

所以如果你的 R 基本上是对象的 world-space transform.rotation 那么结果将是对象本地转发(正Z) 向量作为世界 space 坐标中的向量。


也可以直接使用对象的transform.forward向量,基本等于transform.rotation * Vector3.forward