3
アプリ(タブ付きアプリケーション)でiOS 11ベータ版のARKitを実装しようとしています。しかし、ARKit Session Paused and Not Resumingスレッドで述べたように、タブを別のView Controllerに変更して戻ってくると、ARSessionがフリーズして再開しなくなります。ARSessionをフリーズせずにTabviewコントローラにARSCNViewを置く方法は?
ARSCNViewをタブ付きアプリケーションに実装することは可能ですか?戻る場合は、ARSessionを再開できるようにしますか?もしそうなら、それを行う方法?ビューが消えます
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
let configuration = ARWorldTrackingSessionConfiguration()
sceneView.session.run(configuration, options: [.resetTracking, .removeExistingAnchors])
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
sceneView.session.pause()
}
停止セッションを、そしてアンカーをクリアし、ビューが表示されますときのトラッキングをリセットすると、セッションを再実行します。
うんでそれらのポップオーバー画面をどうやっ
は、より良いユーザーエクスペリエンスについては、を参照してください。 「フリーズ」問題を修正しても、別の全画面表示コントローラを終了して戻ってくると、ユーザーのARエクスペリエンスを最初からやり直すことになります。 ARビューを実行し続けるためにポップオーバーなどを使用したり、経験を残しておく必要がないようにアプリケーションを設計したりすることをおすすめします。 – rickster@rickster 100%同意すると、アップルはそれらのポップオーバーで良いデモを持っていますhttps://developer.apple.com/sample-code/wwdc/2017/PlacingObjects.zip –
@VasiliiMuravevはい私はappleと同じサンプルコードを使用していますviewWillDisappearでsceneview.session.pauseも実装しています。しかし、まだ私がタブを変更して再び来たら、セッションはフリーズします。 – yaali