检索与ADF

时间:2017-07-19 23:51:28

标签: unity3d unity5 google-project-tango

我正在尝试在Unity下使用AreaDescription和AreaLearning在AR中放置,保存和加载对象,但是在重定位和循环闭包时我遇到了问题。

现在我可以学习ADF,加载它并重新定位(来自开发人员网站的AreaLearning教程)。我还设法放置对象并将其坐标保存在xml中。

我的问题是当我加载xml时,当我保存它们时,我的对象的坐标与应用程序的服务开始相关,因此它们不在我的场景中的正确位置。

我不明白在AreaLearning示例中如何做到这一点。我知道这是在AreaLearningInGameController中,但我真的不明白它的工作流程。

总结一个问题:如何在AR中保存关于ADF的对象,以及如何从ADF检索其位置到我的应用程序?

如果你有提示,tutos或解释,我将非常感激!

感谢。

2 个答案:

答案 0 :(得分:1)

您是正确的,XML保存对象相对于服务开始的位置。对于新记录的区域描述,该区域描述的起源固定为初始记录时的服务开始。在将来加载区域描述时,其来源不会改变。

要使对象保持持久,您需要加载先前记录的区域描述,并确保Tango Manager和Tango Pose Controller都配置为使用区域描述(而不是停止服务)作为原点。

我希望这有帮助!

答案 1 :(得分:0)

好的,我找到了问题的答案和问题的解决方案。

令人惊讶的是,Google并没有在ADF tutorial中更多地强调这一点。

无论如何,关键是在Tango AR Camera Prefab的Tango Pose Controller脚本中检查“Use AreaDescription”。这是一个布尔值,它定义用于估计姿势的参考帧是否与ADF或服务开始有关。 Et voilaa ......没什么可做的。

这是如此简单和愚蠢,但实际上并不明显,因为默认情况下禁用此布尔值,并且在SDK的ADF示例中,它在Unity编辑器中进行检查(因此您不会通过查看脚本来查找)。