我使用Unity與Tango,並且在獲取姿態數據時遇到問題。 Tango Unity SDK的Unity應用程序是爲Android設備構建的,設備獲取姿態數據並將其發送到使用OpenGL進行附加處理的計算機。 我的問題是,座標系是姿勢數據返回,因爲我不能像C API那樣定義引擎? 團結手柄歌廳姿態數據是這樣,並沒有什麼更多的可以發送:使用Google Tango與Unity獲取OpenGL座標系統的姿態數據
#if UNITY_EDITOR
GetEmulatedPoseAtTime(poseData, timeStamp, framePair);
#else // ANDROID
int returnValue = API.TangoService_getPoseAtTime(timeStamp, framePair, poseData);
if (returnValue != Common.ErrorType.TANGO_SUCCESS)
{
Debug.Log(CLASS_NAME + ".GetPoseAtTime() Could not get pose at time : " + timeStamp);
}
#endif
只是爲了證明我與OpenGL應用程序的工作,因爲它應該,我已經使用C API使用相同的想法(創建探戈項目得到姿態數據,並將其發送):
TangoCoordinateFramePair pair;
pair.base = TANGO_COORDINATE_FRAME_START_OF_SERVICE;
pair.target = TANGO_COORDINATE_FRAME_DEVICE;
base = TANGO_SUPPORT_ENGINE_OPENGL;
target = TANGO_SUPPORT_ENGINE_OPENGL;
error = TangoSupport_getPoseAtTime(poseTimestamp, pair.base, pair.target, base, target, ROTATION_0, &pose);
...這工作。
我認爲數據可能在探戈座標系中,我嘗試將姿勢數據與C#等效函數轉換爲QuatTangoToGl和Vec3GlToTango格式here,但仍然不正確。
那麼,在哪個座標系統是Unity SDK中的姿態數據,並且有可能以某種方式定義我想要的引擎?