Unity3D SDK Area Learning Scene で数時間を費やして、OOTB を使用しながら ADF をロードしてローカライズする方法を見つけようとしました。ただし、m_useADF を true に設定し、UUID が有効で、TangoApplication オブジェクトに渡されたことを確認した後、システムはポーズ情報の ADF およびローカライズされた部分の更新を返しません。私の理論では、それらはコールバックへのパイプラインに沿ってどこかで生成されたり失われたりすることはありません。
これは、対応するコードの最初の部分です: public bool m_useADF = true;
if(m_useADF)
{
// Query the full adf list.
PoseProvider.RefreshADFList();
// loading last recorded ADF
string uuid = PoseProvider.GetLatestADFUUID().GetStringDataUUID();
m_tangoApplication.InitProviders(uuid);
Debug.Log ("HERE IS THE UUID: " + uuid);
}
これは、ADF と再ローカリゼーション データが報告される場所ですが、更新されることはありません。コントローラは PoseListener として正しく登録され、ステータス POSE_VALID でデバイスが動き回ると、MotionTracking ポーズ データが正しく更新されます。ADF がロードされていないというエラー メッセージは検出されていませんが、ADF と再ローカリゼーションの両方のデータのステータスが TANGO_POSE_INITIALIZING を過ぎて更新されることはありません。
// ADF
GUI.Label( new Rect(Common.UI_LABEL_START_X,
Common.UI_LABEL_START_Y + Common.UI_LABEL_OFFSET * 3,
Common.UI_LABEL_SIZE_X ,
Common.UI_LABEL_SIZE_Y), "ADF1: <size=15>" + String.Format(Common.UX_TARGET_TO_BASE_FRAME,
TangoEnums.TangoCoordinateFrameType.TANGO_COORDINATE_FRAME_DEVICE,
TangoEnums.TangoCoordinateFrameType.TANGO_COORDINATE_FRAME_AREA_DESCRIPTION) + "</size>");
GUI.Label( new Rect(Common.UI_LABEL_START_X,
Common.UI_LABEL_START_Y + Common.UI_LABEL_OFFSET * 4,
Common.UI_LABEL_SIZE_X ,
Common.UI_LABEL_SIZE_Y), "ADF2: <size=15>" + String.Format(Common.UX_STATUS,
m_status[1],
m_frameCount[1],
m_frameDeltaTime[1],
m_tangoPosition[1],
m_tangoRotation[1]) + "</size>");
// RELOCALIZATION
GUI.Label( new Rect(Common.UI_LABEL_START_X,
Common.UI_LABEL_START_Y + Common.UI_LABEL_OFFSET * 5,
Common.UI_LABEL_SIZE_X ,
Common.UI_LABEL_SIZE_Y), "RELOCALIZED1: <size=15>" + String.Format(Common.UX_TARGET_TO_BASE_FRAME,
TangoEnums.TangoCoordinateFrameType.TANGO_COORDINATE_FRAME_AREA_DESCRIPTION,
TangoEnums.TangoCoordinateFrameType.TANGO_COORDINATE_FRAME_START_OF_SERVICE) + "</size>");
GUI.Label( new Rect(Common.UI_LABEL_START_X,
Common.UI_LABEL_START_Y + Common.UI_LABEL_OFFSET * 6,
Common.UI_LABEL_SIZE_X ,
Common.UI_LABEL_SIZE_Y), "RELOCALIZED2: <size=15>" + String.Format(Common.UX_STATUS,
m_status[2],
m_frameCount[2],
m_frameDeltaTime[2],
m_tangoPosition[2],
m_tangoRotation[2]) + "</size>");
誰もこれに直面して解決したことがありますか? これが既知の問題かどうかは誰にもわかりませんか?
クリストホッパー