ARImageTrackingConfiguration.isSupported всегда возвращает false - PullRequest
0 голосов
/ 04 апреля 2019

Следующие атрибуты возвращают false для меня, но я не могу понять, почему.

ARImageTrackingConfiguration.isSupported
ARWorldTrackingConfiguration.isSupported

Я тестирую его на iPhone Xs с iOS 12.1.1, с кодом, встроенным в Xcode 10.1.

Обратите внимание, что ARConfiguration.isSupported возвращает true.

Есть идеи, почему это может происходить?

1 Ответ

0 голосов
/ 04 апреля 2019

Только один 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!)
    }
}

Кроме того, внимательно прочитайте об этих трех типах конфигурации отслеживания :

  • ARWorldTrackingConfiguration () (вращение и перевод x - y - z) 6-DoF

  • AROrientationTrackingConfiguration () (только вращение x - y - z) 3-DoF

  • ARImageTrackingConfiguration () 6-DoF , но отслеживание только по изображениям позволяет привязывать виртуальный контент к известным изображениям только тогда, когда эти изображения находятся в поле зрения камеры.

Поскольку отслеживание 3-DoF создает ограниченные возможности AR, обычно не следует использовать класс AROrientationTrackingConfiguration() напрямую. Вместо этого используйте подкласс ARWorldTrackingConfiguration() для отслеживания с шестью степенями свободы (6-DoF), обнаружение самолета и тестирование удара . Используйте отслеживание 3-DoF только в качестве запасного варианта в ситуациях, когда отслеживание 6-DoF временно недоступно.

Надеюсь, это поможет.

...