ARKit - проблема с ARSession - augmented-reality


1

Я пытаюсь создать ARSession, используя ARKit с бета-версией Xcode 9 (для iOS 11). Но, похоже, он работает неправильно.

Код, который я пробовал:

override func viewDidLoad() {

    super.viewDidLoad()

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

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

Может ли кто-нибудь помочь? Код практически соответствует требованиям Apple Documentation.

Источник
  •  52
  •  4
  • 10 мар 2020 2020-03-10 03:50:23

4 ответа

0

Вам также нужно инициализировать SCNScene и добавить его в ARSCNView.

let scene = SCNScene()
sceneView.scene = scene

Обычно я делаю это, пока не настрою сессию.

  • 10 мар 2020 2020-03-10 03:50:25
0

Существует еще одна проблема из-за ошибки iOS11 beta1, примечаний к выпуску 1 Beta 1 для iOS и известных проблем в Apple

snapsot image

Это означает, что вам нужно iPhone 6S или лучше использовать ARKit (ARSessionConfiguration) в текущее время. Пока релиз iOS11 beta2...

Обновление 2017.07.13

У моего iphone6 было обновление до iOS11 beta3, и он может запускать ARWorldTrackingSessionConfiguration, потрясающий!

Обновление 2017.09.07

iphone6 не может запустить ARWorldTrackingConfiguration в недавнем бета-версии iOS11...... :(

  • 10 мар 2020 2020-03-10 03:50:25
0

ARWorldTrackingSessionConfiguration поддерживает только устройства iOS с процессором A9 или более поздней версией.

Согласно документу Apple:

  • На устройствах iOS с процессором A9 или более поздней версией подкласс 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
  • 10 мар 2020 2020-03-10 03:50:25
1

У вас возникла проблема с жизненным циклом контроллера View. Согласно руководству Apple для ARSession, сеанс может после полной загрузки загружаться. Я имею в виду, что пользовательское представление будет запускать сеанс.

Вот яблочный документ для него: построение базового AR-опыта

Кроме того, посмотрите на следующий образец.

enter image description here