【发布时间】:2019-12-21 17:47:15
【问题描述】:
我正在编写一个使用Configurable Joint 旋转Rigidbody 的脚本。我已经找到了targetRotation,但现在我正在努力解决targetAngularVelocity,如果设置正确,它应该可以帮助我避免晃动。
targetAngularVelocity 在documantation 中定义如下:“这是一个Vector3。它定义了关节应旋转到的所需角速度”。问题是我不知道如何根据两个Quaternions 获得这个Vector3 - 对象的当前旋转和目标旋转。
我理解不正确吗?有没有基于两个Quaternions返回旋转向量的函数?
【问题讨论】:
-
速度只是你希望它移动的速度......这就像问“我有A点和B点,我如何将它们结合起来以获得两者之间的速度”.. .
-
@RonBeyer 也许我不够清楚。我正在使用这个
Configurable Joint在 A 点和 B 点之间旋转。现在我想设置targetAngularVelocity以匹配该旋转 - 所以我需要基于两个Quaternions获得一个旋转向量。 -
您可以尝试使用欧拉空间表示
quaternionB.eulerAngles - quaternionA.eulerAngles如果您是这个意思。没有你的代码有点难以分辨 -
@derHugo 已经尝试过了,似乎没有用。此返回的值与对象的实际
angularVelocity完全不同(由 Spring 驱动器旋转到targetRotation- 因此它们应该匹配,或者至少相似)。
标签: c# unity3d quaternions