Unity 中的区域学习

Area learning in Unity

我在 Project Tango Google+ 页面上问了这个问题,有人建议我 post 在这里。

我很困惑的一点是区域学习。显然,它是如何工作的,你扫描一个房间,保存 ADF 文件,然后你可以访问同一个房间并加载 ADF 文件,它就会知道你在房间里的位置,对吗?

有没有人有在 Unity 中执行此操作的经验?示例中有一个 "Save ADF" 按钮,但之后无法加载它?您如何使用之前保存的 ADF?现在这一切让我很困惑。任何人都可以帮助更好地解释事情吗?

已弃用

你对Area Learning和Area Description Files工作的理解和解释是正确的。

Project Tango Unity Examples 存储库中有一个 example called "AreaLearningUnity" 显示了此功能的用法。

在此示例中,您可以通过单击 SaveADF 按钮来保存 ADF,当您再次重新启动应用程序时,它会自动加载上次保存的 adf.This 功能由 following code 在例如。

        if(m_useADF)
        {
            // Query the full adf list.
            PoseProvider.RefreshADFList();
            // loading last recorded ADF
            string uuid=PoseProvider.GetLatestADFUUID().GetStringDataUUID();
            m_tangoApplication.InitProviders(uuid);
        }

要选择特定的 UUID 而不是最新的 UUID,您可以使用 GetCachedADFList() 调用其中 returns 保存在您设备上的 ADF 列表,可用于选择您想要的 ADF加载。

我鼓励您查看 Project Tango Unity SDK 中的 PoseProvider Class。

编辑:SDK 变化太大,因此可以将其标记为已弃用。