0
私はセンサーを持っています。このセンサーは、現在の方向の四元数を返します。 私はリセットオリエンテーションコードを追加しました、そして、それは完璧に動作します:リセットセンサーの向き
void KeyPressedHandler()
{
Quaternion CurrentQuat;
var state = this.adapter.GetState();
CurrentQuat = state.Value;
if (Input.GetKeyDown(KeyCode.R))
{
Quaternion StartPosition;
StartPosition.x = 0;
StartPosition.y = 0;
StartPosition.z = 0;
StartPosition.w = 1;
Offset = Quaternion.Inverse(CurrentQuat) * StartPosition;
}
}
void Update()
{
Quaternion CurrentQuat;
var state = this.adapter.GetState();
CurrentQuat = state.Value* Offset;
transform.Rotation = CurrentQuat;
}
そして、私は次のような問題を発見しました。センサーを水平テーブルに置き、それを垂直OZ軸の周りに回転させると、モデル(Unity内)もOZ軸の周りを回転します。次に、センサを側端に置き、OZ軸(水平面内のOZ)の周りを回転させると、モデルは異なる軸で回転します。モデルのOZではない...なぜ?センサーとモデルの軸を保存するにはどうすればよいですか?
悪いセンサーについての情報を持っていない場合は、新しいポジションにリセットしないまで... – joreldraw
車軸がバインドされています...。水平平面に戻すセンサ(OZが垂直である)場合方向をリセットして、再びうまくいく、センサーの軸はモデルの軸と一致する – Arthur