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