2

我正在尝试ARSession使用带有 Xcode 9 beta(适用于 iOS 11)的 ARKit 创建。但它似乎无法正常工作。

我试过的代码是:

override func viewDidLoad() {

    super.viewDidLoad()

    // configure session
    let configuration = ARWorldTrackingSessionConfiguration()
    configuration.planeDetection = .horizontal

    // run session
    sceneView.session.run(configuration)
}

任何人都可以帮忙吗?根据 Apple 文档,代码几乎是正确的。

4

4 回答 4

2

您对 View 控制器的生命周期有疑问。根据 Apple 的 ARSession 指南,它可以在您查看完全加载后的 Session。我的意思是,用户视图似乎会运行您的会话。

这是相同的苹果文档:构建基本的 AR 体验

另外,请查看以下示例。

在此处输入图像描述

于 2017-06-07T11:35:24.877 回答
0

ARWorldTrackingSessionConfiguration 仅支持配备 A9 处理器或更高版本的 iOS 设备。

根据苹果文档:

  • 在配备 A9 处理器或更高版本的 iOS 设备上,ARWorldTrackingSessionConfiguration 子类提供高精度运动跟踪,并启用帮助您将虚拟内容放置在与现实世界表面相关的功能。

  • 在 ARKit 支持的其他设备上,ARSessionConfiguration 基类提供基本的运动跟踪,允许稍微不那么身临其境的 AR 体验。

iPhone 和处理器:

 iPhone 6 and iPhone 6 plus has A8 processor.
 iPhone SE, iPhone 6s, iPhone 6s plus has A9 processor.
 iPhone 7, iPhone 7plus has A10 processor
于 2017-06-06T11:42:59.760 回答
0

由于 iOS11 beta1 错误,iOS 11 Beta 1 发行说明和已知问题,Apple表示还有另一个问题

快照图像

这意味着您当前需要 iPhone 6S 或更好的设备才能使用 ARKit(ARSessionConfiguration)。直到 iOS11 beta2 发布...

2017.07.13 更新

我的iphone6已经更新到iOS11 beta3,可以运行ARWorldTrackingSessionConfiguration了,太棒了!

2017.09.07 更新

iphone6在最近iOS11 beta中无法运行ARWorldTrackingConfiguration...... :(

于 2017-06-12T10:16:39.063 回答
0

您还需要初始化一个 SCNScene 并将其添加到 ARSCNView。

let scene = SCNScene()
sceneView.scene = scene

我通常也会在设置会话之前执行此操作。

于 2018-02-19T14:06:54.673 回答