【问题标题】:Quaternion rotation gimbal problems in Unreal engine虚幻引擎中的四元数旋转万向架问题
【发布时间】:2016-08-21 17:34:35
【问题描述】:

我正在从惯性传感器将数据流式传输到虚幻引擎。它以以下格式输出 UnNormalized 四元数数据:

 X = 6561.00000
 Y = 6691.00000
 Z = 2118.00000
 W = 2078.00000

我将这个应用到一个演员,在 c++ 中,使用:

 this->SetActorRelativeRotation(rotsQ);

它给我带来了奇怪的云台问题。

当我将俯仰角旋转 90 度时,它以俯仰角旋转。

我在 Yaw 中旋转 90 度。

当我将俯仰旋转 90 度时,它以滚动方式旋转。

我尝试将其转换为 FRotator 并翻转轴,一次应用一个轴并切换旋转顺序。我尝试将 Actor 设置为每个刻度 0,0,0 然后添加旋转值。不管我做什么,我看到的都是一样的。非常感谢这里的任何帮助!

会不会是惯用手问题?我可以在这里尝试什么?

【问题讨论】:

    标签: c++ rotation quaternions unreal-engine4


    【解决方案1】:

    尚不清楚来自传感器的输入数据是否显示旋转变化或其绝对值。如果是绝对值,请尝试使用SetActorRotation 而不是SetActorRelativeRotation

    如果输入数据表示增量旋转,请尝试AddActorLocalRotationAddActorWorldRotation

    【讨论】:

    • 感谢您的回复。这些值是绝对旋转。我曾尝试使用 setActorRotation,并看到完全相同的结果。我知道使用四元数应该可以解决这个问题,但无论如何我都摆脱不了它!
    • 也许您是围绕全局轴而不是相对于对象的局部轴旋转?本文介绍如何使用四元数围绕自定义轴旋转。 ninepointeightgame.com/game-updates/quick-quaternion-tips
    猜你喜欢
    • 1970-01-01
    • 2022-10-22
    • 2020-11-18
    • 1970-01-01
    • 2015-09-24
    • 1970-01-01
    • 2022-06-19
    • 2020-10-15
    • 2016-05-05
    相关资源
    最近更新 更多