swift - 将 ARKit 场景保存到后端并稍后加载?

标签 swift ios11 swift4 arkit

如果我的问题措辞不正确,请提前致歉;因为我是 AR 技术的新手,也是 CS 的学生。我整天都在阅读有关 AR 的内容,但我还没能回答我的问题。

我的问题是:使用 Apple 的 ARKit,我们是否能够从后端加载 ARKit 场景或 session 以识别创建它的平面?完美的例子是 WWDC 演示中的 Babysitter 应用程序。我可以在我家的表面上创建绘图,将该 session 保存到后端,然后当保姆过来时,它会从云端下载 session 数据,并将绘图加载到它们保存的位置吗?

再次抱歉,如果我把这个问题扼杀了,我还没有足够的经验来正确地提出这个问题。

最佳答案

更新:在“ARKit 2”又名 ARKit for iOS 12 中,您确实可以保存和恢复 AR session 状态。参见 my answer to this other question , the WWDC18 talk on ARKit 2 , 或 Apple's ARKit docs and sample code .

任何类型的共享 AR 的问题——无论是两台或多台设备同时看到相同的体验,还是一台设备为其他人(甚至是原始设备)录制内容供以后体验——是这样的事物需要一个共享的引用框架。也就是说,坐标 0,0,0 需要为两个用户指代相同的真实世界位置(和方向)。

ARKit 所做的一切都是在相对于您的设备在开始 session 时所处位置的引用系中,并且它不提供一种方法来根据任何类型的“绝对”世界坐标来定位该引用系。也就是说,如果您尝试记录您放置了一些虚拟内容的体验,例如 0.2、-0.1、-0.5,那么稍后回放该体验的人将看到该内容的唯一方式在相同的真实世界位置是指如果第二个人站在完全相同的位置,将他们的设备保持在相同的高度,并指向相同的方向。

Giphy“保姆笔记”演示 that made the press a few weeks ago似乎主要是关于录制 AR 体验的视频

具有共享(或“绝对”)引用系的 AR 可能是可能的,但这不是 ARKit 开箱即用的功能。

关于swift - 将 ARKit 场景保存到后端并稍后加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46260122/

相关文章:

swift - 如何在 iOS 11 中换行较长的大标题?

ios - 如何更改 iPhone X 上的主页指示器背景颜色?

swift - 如何从swift中的字符串索引中获取特定字符

swift - 带有嵌套类的 Swift 4 上的 "instance member cannot be used on type"错误

ios - 如何在 swift 4 中执行两个并发 API 调用

swift - Xib 文件在被我的页面 View Controller 调用时呈现,但不作为选项卡呈现

ios - 尝试在 Swift 中使用警报操作切换到另一个 View Controller

ios - 生成非重复随机数的 Swift 数组

ios - 如何使用 Swift 从保存在文档目录中的文本中读取字符串?

safari - iOS 11 Webview远程调试