セッションの中断後にARWorldTrackingセッションの北向きを変更しようとしています。私はdocumentationを何度か訪れたが、私はそれが混乱していると思っている。ARKit:中断後にワールド方向をリセットする方法
現在の行動:私は、デバイスをロックし、sessionWasInterrupted
をトリガー、アプリを再度開くと
は、SCNNodesすべては〜90度ほどでコンパスに反時計回りにシフトします。
あなたが実行(_呼び出す場合:オプション:)セッションの現在の設定よりも 異なるタイプの構造を持つメソッドを、セッション はいつも私がいることを言うようにということを解釈
を追跡リセットviewWillAppear
とは異なる新しい設定を生成すると、セッションは「リセット」されます。私は実際に何が起こっているのか分からないが、中断後の方向は外れている。 (と removeExistingAnchors
は何もしません)
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
let configuration = ARWorldTrackingSessionConfiguration()
configuration.planeDetection = .horizontal
configuration.worldAlignment = .gravityAndHeading
sceneView.session.run(configuration)
}
func sessionWasInterrupted(_ session: ARSession) {
let configuration = ARWorldTrackingSessionConfiguration()
configuration.planeDetection = .horizontal
configuration.worldAlignment = .gravityAndHeading
self.sceneView.session.run(configuration, options: [ARSession.RunOptions.removeExistingAnchors, ARSession.RunOptions.resetTracking])
}
望ましい行動:アプリがセッションの中断を検出したとき、私はそれが戻って真北に自分自身を再配向するために
たいと思います。