Je suis nouveau pour swift, et j'essaie d'obtenir l'emplacement de la caméra dans l'exemple ARKit, mais il me donne nil
.Ne pas obtenir la session didUpdate pour la position de la caméra dans ARKit
J'ai utilisé la solution pour this question et définir le délégué à self
, mais il ne me donne toujours pas la transformation de la caméra.
Qu'est-ce que je fais mal?
class ViewController: UIViewController, ARSCNViewDelegate {
@IBOutlet var sceneView: ARSCNView!
override func viewDidLoad() {
super.viewDidLoad()
sceneView.delegate = self
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
let configuration = ARWorldTrackingSessionConfiguration()
sceneView.session.run(configuration)
}
func session(_ session: ARSession, didUpdate frame: ARFrame) {
print("Hello") // <-- does not run here
let currentTransform = frame.camera.transform
}
}
De qui s'agit-il? Avez-vous 'nil' pour la transformation comme indiqué dans votre question, ou la fonction' session: didUpdate' n'est-elle pas appelée du tout, comme indiqué dans votre code? –
Désolé pour la confusion. 'session: didUpdate' n'est pas appelé du tout. J'ai essayé d'accéder à la propriété transform dans 'viewDidLoad' et j'ai obtenu' nil' alors je suppose que la caméra n'a probablement pas été initialisée. Le titre a été mis à jour. – dmr07