ADF 中的持久对象

Persistant object in ADF

我正在尝试制定如何创建 ADF,在其中放置一个对象,然后当我再次 运行 应用程序时,该对象始终存在,当然是在本地化发生之后。当用户完成将 "dropping" 个对象添加到场景中,然后在随后的 运行 中重新加载它们时,我是否必须将虚拟对象的位置保存到一个单独的文件中?或者有没有办法将它们保存到 ADF 中?

没有好的方法可以将其保存到 ADF 中,除非您破解 ADF 的一些元数据。但不建议破解元数据。

我们不能用ADF保存对象,而是在加载ADF时,可以将对象(在ADF识别后)添加到识别的坐标中。

我做了类似的事情并让它工作,但发现放置的对象在随后的 ADF 加载中振荡并且没有完全放置在相同的位置。因为无论何时建立 Tango 连接,该位置都被视为原点 (0,0,0),并且对象被放置在与该原点相关的位置。所以很难在同一个地方看到这些物体。

我照你说的做了。 你必须将对象的坐标写入一个单独的文件,然后当你重新加载场景并识别你的房间时(感谢 adf),只需将对象放回相同的坐标即可。

当然每个坐标 (x y z) 都必须参考 ADF Tango 姿势 -> base = TangoEnums.TangoCoordinateFrameType.TANGO_COORDINATE_FRAME_AREA_DESCRIPTION

在 Unity 上非常简单,您只需检查 "true" ARCamera tango 脚本上的 "Use Area description poses",如果您也使用它,则检查 PointCloud 脚本上的 "Use Area description poses"。