ARImageTrackingConfiguration.isSupported始终返回false

时间:2019-04-04 00:46:18

标签: swift augmented-reality arkit

以下属性正在为我返回false,但是我不明白为什么。

ARImageTrackingConfiguration.isSupported
ARWorldTrackingConfiguration.isSupported

我正在使用Xcode 10.1构建的代码在具有iOS 12.1.1的iPhone Xs上对其进行测试。

请注意,ARConfiguration.isSupported确实会返回true

有什么想法可能会发生这种情况吗?

1 个答案:

答案 0 :(得分:0)

  在给定的时间内仅支持

一个 ARTracking class

您应该这样编写代码:

import UIKit
import ARKit

class ViewController: UIViewController, ARSCNViewDelegate {

    @IBOutlet var sceneView: ARSCNView!
    var configuration: ARConfiguration?

    //.........
    //.........

    override func viewWillAppear(_ animated: Bool) {        
        super.viewWillAppear(animated)       

        if ARWorldTrackingConfiguration.isSupported {
            configuration = ARWorldTrackingConfiguration()         // 6-DoF
        } else {
            configuration = AROrientationTrackingConfiguration()   // 3-DoF
        }
        sceneView.session.run(configuaration!)
    }
}

此外,请仔细阅读以下三种跟踪配置类型

  

由于3-DoF跟踪创建的AR体验有限,因此通常不应直接使用AROrientationTrackingConfiguration()类。而是使用子类ARWorldTrackingConfiguration()进行六个自由度(6-DoF),平面检测命中测试的跟踪。在暂时无法使用6自由度跟踪的情况下,仅将3自由度跟踪用作备用。

希望这会有所帮助。