命名空间: UnityEngine.WSA.VR.Persistence 类型: WorldAnchorStore WorldAnchorStore 是创造全息体验的关键,当用户离开原场景中时,原场景中的全息对象会保持在特定位置;当用户回到原场景时,能够准确还原原场景的全息内容。这保证了用户能够将任何全息对象贴到任何他们想放置的位置。 如何在整个会话中保持全息对象WorldAnchorStore能够允许你在整个会话中保持空间锚的位置。为了能真正在会话中保持全息对象,你需要单独使用特定的空间锚来追踪你的GameObjects。通常创建一个附有空间锚根GameObject,同时对它的子全息图也附上具有相对位置偏移的空间锚组件。 为了从先前场景中载入全息对象: 1. 获取WorldAnchorStore 2. 载入空间锚关联的应用数据,从中获取空间锚ID 3. 通过ID获取空间锚对象 为了保存全息对象信息,需要在下个场景之前: 1. 获取WorldAnchorStore 2. 通过指定ID来保持对应空间锚对象 3. 连同ID保持与空间锚关联的应用数据 获取WorldAnchorStore 为了能够在保持在后续使用WorldAnchorStore,我们需要先通过异步操作打开此对象,我们需要启用: 当WorldAnchorStore完成加载,在这种情况下,我们需要StoreLoaded 处理程序: 现在就可以使用WorldAnchorStore对象来保存场景信息了。 保存空间锚 为了节省,我们只需要命名我们保存和通过的空间锚中的对象,注意:同一空间锚不能多次保存。每个空间锚只应该保存一次,如果需要更新空间锚信息,则需要先删除旧的空间锚信息,然后再保存新的空间锚信息。 载入空间锚 代码如下 我们还可以在store中,Delete() 来删除我们以前保存和存储的空间锚。Clear()用来删除以前保存的所有数据。 枚举已有的空间锚我们可以通过枚举已保存的空间锚信息来查找之前保存的空间锚,代码如下
|