問題

私は迅速に新しく、ARKitの例でカメラの位置を取得しようとしていますが、それは私にnilを与えています。

私はのソリューションを使用しました。この質問selfにデリゲートを設定しましたが、まだカメラ変換を与えていません。

私は間違って何をしていますか?

 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
    }
}
 

  ベストアンサー

簡単な修正、まずあなたのクラス定義:

 class ViewController: UIViewController, ARSCNViewDelegate, ARSessionDelegate
 

次に、デリゲートとして次のように設定する必要があります。

 sceneView.session.delegate = self
 

すべてがうまくいく

  同じタグがついた質問を見る

iosswiftscenekitaugmented-realityarkit