我在 Project Tango Google+ 页面上问了这个问题,有人建议我把它贴在这里。
我很困惑的是区域学习。显然,它的工作原理是扫描一个房间,保存 ADF 文件,然后您可以访问同一个房间并加载 ADF 文件,它会知道您在房间中的位置,对吗?
有没有人有在 Unity 中执行此操作的经验?示例中有一个“保存 ADF”按钮,但之后无法加载它?您如何使用之前保存的 ADF?现在这一切都让我很困惑。任何人都可以帮忙解释一下吗?</p>
我在 Project Tango Google+ 页面上问了这个问题,有人建议我把它贴在这里。
我很困惑的是区域学习。显然,它的工作原理是扫描一个房间,保存 ADF 文件,然后您可以访问同一个房间并加载 ADF 文件,它会知道您在房间中的位置,对吗?
有没有人有在 Unity 中执行此操作的经验?示例中有一个“保存 ADF”按钮,但之后无法加载它?您如何使用之前保存的 ADF?现在这一切都让我很困惑。任何人都可以帮忙解释一下吗?</p>
已弃用
您对区域学习和区域描述文件工作的理解和解释是正确的。
Project Tango Unity 示例 repo 中有一个名为“AreaLearningUnity”的示例,显示了此功能的用法。
在本示例中,您可以通过单击 SaveADF 按钮来保存 ADF,当您再次重新启动应用程序时,它会自动加载上次保存的 adf。此功能由示例中的以下代码执行。
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()
call 返回保存在设备上的 ADF 列表,可用于选择要加载的 ADF。
我鼓励您查看 Project Tango Unity SDK 中的PoseProvider类。
编辑:SDK 发生了很大变化,因此可以将其标记为已弃用。