首页 文章

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

提问于
浏览
4

我尝试使用 ARWorldMap 共享功能。

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

因此,我在 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:)被调用。我什至可以在苹果 ARMultiuser 应用中重现此错误(雷达已归档)。尝试保存和重新加载世界地图时,会发生类似的错误。

收到并解开 WorldData 后的代码:

let configuration = ARWorldTrackingConfiguration()  

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

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

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

因此,(为了确保)我现在要问的是:**您可以在最新的 Beta 版本中使用具有 world-sharing 功能的 ARKit 2.0 吗?**您认为这是有效的错误吗?您能想到任何解决方法吗?

感谢您提供有关 ARKit 2.0 最新 Beta 版的任何反馈^^

4 回答

  • 2

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

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

  • 2

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

    configuration.environmentTexturing = .automatic

  • 1

    我知道您链接的演示应用程序可以在 Beta 2 中运行,但是我还没有尝试在 Beta 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/

相关问题