【发布时间】:2021-05-16 19:21:41
【问题描述】:
我是 AR 新手,使用 Unity、ARFoundation 和 ARKit。
我的ARWorldMaps 是否会坚持户外或室内体验,它会像 Azure 一样有效吗?我只会在 iOS 上部署,所以跨平台并不重要。
【问题讨论】:
标签: swift objective-c unity3d augmented-reality arkit
我是 AR 新手,使用 Unity、ARFoundation 和 ARKit。
我的ARWorldMaps 是否会坚持户外或室内体验,它会像 Azure 一样有效吗?我只会在 iOS 上部署,所以跨平台并不重要。
【问题讨论】:
标签: swift objective-c unity3d augmented-reality arkit
保存 ARWorldMap 不是一门火箭科学。如果 Unity 的 ARKit 扩展支持此功能,则 ARWorldMap 将以与预期相同的方式保存在任何 AR 应用程序中。主要区别在于 iOS 的 Unity 构建是用 slow Objective-C 编写的,而不是 faster UIKit 的 Swift 和 fastest用于 SwiftUI 的 Swift。在 iOS 中存储 ARWorldMap 必须使用 NSKeyedArchiver,而要检索 ARWorldMap 数据则必须使用 NSKeyedUnarchiver。
func writeWorldMap(_ worldMap: ARWorldMap, to url: URL) throws {
let data = try NSKeyedArchiver.archivedData(withRootObject: worldMap,
requiringSecureCoding: true)
try data.write(to: url)
}
ARWorldMap 存储世界坐标网格、设备的位置和方向、周围环境的参考快照和 ARAnchors。很难说出您所说的意思...as effective as Azure...,但 ARWorldMap 数据是在 iOS AR 应用中存储和检索持久性数据的最有效的离线方式。
【讨论】: