簡體   English   中英

Project Tango Unity3d Area Learning Scene無法更新ADF和本地化的姿勢數據

[英]Project Tango Unity3d Area Learning Scene does not update pose data for ADF and Localization

我在Unity3D SDK區域學習場景上花費了幾個小時,試圖弄清楚如何在使用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和重新定位數據的位置,但永遠不會更新它們。 當設備以狀態POSE_VALID移動時,控制器已正確注冊為PoseListener,並且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>");

有人面對過這個問題並解決了嗎? 有人知道這是否是已知問題嗎?

Cristhopper

我不知道這是否有幫助,但是我可能只知道發生了什么,因為在將示例移植到C#時我經歷了同樣的事情。 我沒有使用Unity SDK。

如果有類似的TangoUtilities項目或功能支持AD的呈現,並且您正在引用它或已經實現了類似的東西,則OnPoseAvailable實現中有代碼引用了呈現器的軌跡:

例如

        // Update the trajectory, model matrix, and view matrix, then
        // render the scene again
        if (updateRenderer && (mRenderer.Trajectory != null))

在以上版本中,我添加了&&(mRendered.Trajectory!= null),因為前幾遍仍然為null。

如果我還記得,那是造成無聲的失敗,並且不再允許呈現任何失敗。

我認為值得分享,希望它可以成為您的解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM