4

我尝试使用 ARWorldMap 共享功能。

编辑:我正在使用 Xcode、iOS 和 macOS 的最新(Beta 3)版本,可从Apple 开发网站下载。

所以我在 2 台设备之间建立了 MultipeerConnectivity 连接。一个是扫描,直到有一个.mappedWorldMap,然后将其发送到另一个设备。

在那里打开包装后,我创建一个新的 ARConfiguration 并设置configuration.initialWorldMap为我收到的地图,并通过我的 ARSession 运行此配置。

不久之后,我得到了这个:

2018-07-06 15:45:15.453812+0200  [Technique] Error initializing VIO handle (0x116113a00):
2018-07-06 15:45:15.456922+0200  [Session] Session (0x115d22340): did fail with error: Error Domain=com.apple.arkit.error Code=200 UserInfo={NSLocalizedDescription=<redacted>, NSLocalizedFailureReason=<redacted>}
2018-07-06 15:45:15.456995+0200  [Technique] ARWorldTrackingTechnique(0x11a5b2e40) error resetting object detection: ObjectDetectionCallbackNotSet
SessionFailed: World tracking failed.

session(_:didFailWithError:)并被称为。我什至可以在Apples ARMultiuser 应用程序中重现此错误(雷达已提交)。尝试保存和重新加载世界地图时会发生类似的错误。

我收到并打开我的 WorldData 后的代码:

let configuration = ARWorldTrackingConfiguration()  

configuration.initialWorldMap = worldData.map    // is of type ARWorldMap  

sceneView.session.run(configuration, options: [.resetTracking, .removeExistingAnchors])  

注意: 我不是要你修复 Apple 的错误。我来这里的原因很简单,因为我没有得到任何反馈,不是来自 Apple(还),也没有来自任何其他 Dev。在线的。

所以(只是为了确保)我现在真正要问的是:你能在最新的 beta 版本中使用带有世界共享功能的 ARKit 2.0 吗?你认为这是一个有效的错误吗?你能想到任何解决方法吗?

如有任何关于 ARKit 2.0 最新 beta 版的反馈,我们将不胜感激^^

4

4 回答 4

2

对不起,不知道如何绕过 VIO(视觉惯性里程计,jic 有人不知道:它基本上是 AR 跟踪技术)错误。

但我可以批准。我使用您链接的苹果的示例代码进行了尝试,并得到了同样的错误。我想您必须等待Apple修复它:/

于 2018-07-08T14:32:52.327 回答
2

我在 Beta 3 中也遇到过这个问题,现在我通过注释这段代码来解决这个问题:

configuration.environmentTexturing = .automatic

于 2018-07-17T08:07:22.987 回答
1

我知道您链接的演示应用程序在 Beta 2 中工作,但我还没有尝试在 Beta 3 中运行它,如果这意味着什么

于 2018-07-09T13:18:36.043 回答
0

您需要更新参考数据。这是最新版本的一个已知问题。“ARKit:使用 iOS 12 beta 2 或更早版本生成的 ARReferenceObject 和 ARWorldMap 数据与 beta 3 或更高版本不兼容。请重新扫描您的对象以生成新的 ARReferenceObject 和 ARWorldMap 数据。(41489820)” https://ios.gadgethacks.com /news/released-ios-12-dev-beta-3-public-beta-2-includes-improved-maps-bug-fixes-security-patches-0185742/

于 2018-07-10T18:49:46.233 回答