2016-08-21 14 views
2

慣性センサーからUnrealエンジンにデータをストリーミングしています。私が使用して、C++では、俳優にこれを適用していますUnrealエンジンのクォータニオン回転ジンバルの問題

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

this->SetActorRelativeRotation(rotsQ); 

をそして、それは私に奇妙なジンバルの問題を与えることは、形式に正規化されていない四元データを出力します。

ピッチを90度回転させると、ピッチで回転します。

私はヨーで90度回転します。

ピッチを90度回転させると、ロールで回転します。

私は、軸を反転させ、軸を1度に1つずつ適用して回転順序を切り替えることで、回転子と軸を反転させてみました。私はアクターを0,0,0に設定して回転値を追加しようとしました。私が何をしても、私は同じことを見る。ここのお手伝いが大変ありがとう!

手渡し問題がありますか?私はここで何を試すことができますか?

答えて

0

センサーからの入力データに回転の変化または絶対値が表示されているかどうかは不明です。絶対値の場合はSetActorRelativeRotationの代わりにSetActorRotationを使用してください。

入力データがデルタローテーションを表す場合は、AddActorLocalRotationまたはAddActorWorldRotationを試してください。

+0

ご返信ありがとうございます。値は絶対回転です。私はsetActorRotationを使ってみましたが、まったく同じ結果を参照してください。クォータニオンを使うとこの問題は解決するはずですが、何があってもそれを取り除くことはできません! – anti