我有一个四元数形式的旋转 r1 的 3D 对象。 我用局部欧拉角旋转它:
transform.Rotate(new Vector3(0f, 15f, 0f), relativeTo: Space.Self); // right
transform.Rotate(new Vector3(-10f, -5f, 0f), relativeTo: Space.Self); // left up
transform.Rotate(new Vector3(0f, 0f, 90f), relativeTo: Space.Self); // 90 clockwise
现在我有轮换r2。如果我不知道应用了哪些角度,如何检索局部 Y 旋转总和 15-5+0=10?可能无法准确获得该值 (10),但您明白我的意思了。也许我可以在本地 r2 空间中获得 Y 差异?
最佳答案
我找到的一个可能的解决方案:
(r2 * Quaternion.Inverse(r1)).eulerAngles.Y
关于c# - 3D相对角度和计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21681992/