AR Kit 2.0 получить детали изображения отслеживаемого изображения? - PullRequest
0 голосов
/ 01 марта 2019

Я довольно новичок в AR Kit, но недавно я обнаружил, что функция отслеживания изображений довольно удивительная.Я обнаружил, что это так просто, как:

let referenceImages = ARReferenceImage.referenceImages(inGroupNamed: "AR Resources", bundle: Bundle.main)

let configuration = ARImageTrackingConfiguration()
configuration.trackingImages = referenceImages
configuration.maximumNumberOfTrackedImages = 1

sceneView.session.run(configuration)

, который прекрасно работает!Тем не менее, я хочу расширить опыт, определив, какое изображение было отслежено, и отобразить различные объекты / узлы AR на основе отслеженного изображения.Есть ли способ получить больше информации о конкретном изображении, которое отслеживается в настоящее время?

1 Ответ

0 голосов
/ 01 марта 2019

В вашей Справочной группе AR в каталоге активов, когда вы щелкаете эталонное изображение, вы можете открыть инспектор атрибутов и ввести «Имя».

attributes inspector

Это имя затем отражается в свойстве name ARImageAnchor для якоря, которое создается, когда сеанс AR начинает отслеживать это конкретное изображение.

Затем в

func renderer(_ renderer: SCNSceneRenderer, nodeFor anchor: ARAnchor) -> SCNNode?

Вы можете осмотреть якорь и ответить соответственно.Например:

func renderer(_ renderer: SCNSceneRenderer, nodeFor anchor: ARAnchor) -> SCNNode? {
    guard let anchor = anchor as? ARImageAnchor else { return nil }
    if anchor.name == "calculator" {
        print("tracking calculator image")
        return SCNNode.makeMySpecialCalculatorNode()
    }
    return nil
}
...