Я пытаюсь реализовать обнаружение самолета в моем опыте AR.У меня есть подкласс ARSCNView
с расширением ARSCNViewDelegate
.
Мой cameraDidChangeTrackingState
метод делегата вызван.Тем не менее, я никогда не вижу, чтобы мой renderer(_:didAdd node:, for anchor:)
метод вызывался.Любая идея?
class ARView: ARSCNView {
override init(frame: CGRect, options: [String : Any]? = nil) {
super.init(frame: frame, options: options)
let sessionConfig = ARWorldTrackingConfiguration()
sessionConfig.planeDetection = [.horizontal]
self.session.run(sessionConfig)
self.delegate = self
}
}
extension ARView: ARSCNViewDelegate{
func renderer(_ renderer: SCNSceneRenderer, didAdd node: SCNNode, for anchor: ARAnchor) {
//add childNodes to the node here....
//but, this method doesn't get called
}
}
РЕДАКТИРОВАТЬ: я могу найти ARPlaneAnchors session(_ session: ARSession, didAdd anchors: [ARAnchor])
, но я не уверен, должен ли я использовать этот, потому что в большинстве (также яблок) примеров они добавляют объекты в узел якорякак показано в моем коде выше.Или я должен сам запустить этот метод d idAdd node:, for anchor
?