Hololens 收藏本版 已有5人收藏 +发表新主题
查看: 39364|回复: 4
打印 上一主题 下一主题

[分享] Unity场景持久化(Persistence in Unity)

[复制链接]

[分享] Unity场景持久化(Persistence in Unity)

yeziwang 发表于 2016-7-1 17:32:19 浏览:  39364 回复:  4 只看该作者 复制链接
命名空间: 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()用来删除以前保存的所有数据。
枚举已有的空间锚
我们可以通过枚举已保存的空间锚信息来查找之前保存的空间锚,代码如下

分享至:
| 人收藏
回复

使用道具 举报

该用户从未签到

沙发
lingc198 发表于 2016-8-3 09:20:48 只看该作者
给个赞 帮主不容易哈
回复 支持 反对

使用道具 举报

该用户从未签到

板凳
重庆生活网l 发表于 2017-10-25 16:43:59 只看该作者
很好!很强大!













淘客机器人、淘客返利机器人、淘宝客机器人 联系客服QQ:4000017854
回复 支持 反对

使用道具 举报

该用户从未签到

地板
重庆生活网l 发表于 2017-10-26 16:30:36 只看该作者
大家有什么好看法 都说一下吧













淘客机器人、淘客返利机器人、淘宝客机器人 联系客服QQ:4000017854
回复 支持 反对

使用道具 举报

  • TA的每日心情

    2019-3-25 21:42
  • 签到天数: 2 天

    [LV.1]初来乍到

    5#
    wj7636 发表于 2019-4-20 15:57:07 只看该作者
    我提个问题好吗?您以前是不是学过社会心理学,我发现您好想能够看透我的心思,明白我的心里,以至于我做什么都逃不过您的眼睛! 悬浮门http://www.ssmdd.com
    回复 支持 反对

    使用道具 举报

    *滑动验证:
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Copyright © 2013-2017 ARinChina-增强现实中国技术论坛   All Rights Reserved.