ARKit 2.0错误? “初始化VIO时出错”

时间:2018-07-07 20:58:44

标签: ios swift augmented-reality arkit ios12

我尝试使用ARWorldMap共享功能。

编辑:我正在使用Xcode,iOS和macOS的最新版本(测试版3),可从Apple dev site下载。

因此,我在2个设备之间建立了MultipeerConnectivity连接。一个正在扫描直到拥有.mapped WorldMap,然后将其发送到另一台设备。

从那里解包后,我创建了一个新的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 App中重现此错误(雷达已提交)。尝试保存和重新加载世界地图时,会发生类似的错误。

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

let configuration = ARWorldTrackingConfiguration()  

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

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

通知: 我不是要您修复Apple的错误。我来到这里的原因仅仅是因为我没有得到苹果(尚未)和其他开发人员的任何反馈。在线。

所以(为了确保),我现在真正要问的是:您可以将ARKit 2.0与最新Beta版本中的世界共享功能一起使用吗?有效的错误?您能想到任何解决方法吗?

有关ARKit 2.0最新beta版的任何反馈都值得赞赏^^

4 个答案:

答案 0 :(得分:2)

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

configuration.environmentTexturing = .automatic

答案 1 :(得分:1)

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

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

答案 2 :(得分:1)

我知道您链接的演示应用程序可以在Beta 2中工作,但是我还没有尝试过在Beta 3中运行它,如果那意味着一切

答案 3 :(得分: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/