如何将已知的位置和方向设置为ARKit的起点

时间:2019-07-05 09:47:31

标签: ios 3d computer-vision augmented-reality arkit

我开始使用ARkit,并且有一个用例,我想知道从已知位置到另一个位置的运动。 所以我想知道是否有可能(像每个跟踪解决方案一样)在ARKit中设置已知的位置和方向作为跟踪的起点?

致谢

1 个答案:

答案 0 :(得分:0)

为此,您可以保存并共享ARKit的worldMaps

以下是代码片段的外观:

func writeWorldMap(_ worldMap: ARWorldMap, to url: URL) throws {
    let data = try NSKeyedArchiver.archivedData(withRootObject: worldMap, 
                                         requiringSecureCoding: true)
    try data.write(to: url)
}

func loadWorldMap(from url: URL) throws -> ARWorldMap {
    let mapData = try Data(contentsOf: url)
    guard let worldMap = try NSKeyedUnarchiver.unarchivedObject(ofClass: ARWorldMap.self, 
                                                                   from: mapData) else { throw ARError(.invalidWorldMap) }
    return worldMap
}

此外,iOS 13中还有一个全新的有用功能– collaborative sessions