ARWorldTracking oturumunu oturuma ara verdikten sonra yeniden yönlendirmeye çalışıyorum. Birkaç kez documentation'u aştım ama kafa karıştırıcı buluyorum.ARKit: Kesintiden sonra dünya yönlendirmesi nasıl sıfırlanır?
Güncel Davranış:
ben cihazı kilitlemek ve sessionWasInterrupted
tetikleyerek Uygulamayı yeniden, SCNNodes bütün ~ tarafından pusula üzerinde saat yönünün tersine 90 derece ya da öylesine kayması.
Eğer koşmak (_ aradığında: oturumun geçerli yapılandırma daha farklı türde bir yapılandırma ile seçenekleri :) yöntemi, oturumu hep şeklindeki sözleri olduğunu yorumlanır
izleme sıfırlar viewWillAppear
'dan farklı yeni bir yapılandırma kümesi oluşturduğumda, oturum "sıfırlanır". Aslında olanı almıyorum ama kesintiden sonra yönelim kapalı.
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])
}
İstenilen Davranış (ve removeExistingAnchors
hiçbir şey yapmaz): uygulaması bir seans kesinti algılar
, bunu yeniden yönlendirmek için kendisini geri gerçek kuzey istiyorum.