ARCoachingOverlayViewでユーザーにデバイスをうごかしてもらって、ARKitに世界情報をあたえる
4087 ワード
ARKitがWorldTrackingを確立するには、デバイスを動かして、ARKitに視点を与える必要があります。
ARCoachingOverlayViewでユーザーにガイダンスを出して、デバイスをうごかしてもらいます。
1、ARCoachingOverlayViewを初期化します。
let coachingOverlay = ARCoachingOverlayView()
ARCoachingOverlayViewの設定
coachingOverlay.goal = .anyPlane //情報を取る目標設定
// 可能な値
case anyPlane
case horizontalPlane
case tracking
case verticalPlane
coachingOverlay.activatesAutomatically = true //Tracking状態が不十分になると、再度コーチングするか
// セッションとデリゲートを設定
coachingOverlay.session = sceneView.session
coachingOverlay.delegate = self
// Viewとして扱う
coachingOverlay.frame = sceneView.bounds
sceneView.addSubview(coachingOverlay)
2、ARCoachingOverlayViewDelegateを設定
コーチングの状態によって呼ばれるDelegate functionは以下
func coachingOverlayViewWillActivate(_ coachingOverlayView: ARCoachingOverlayView) {
// コーチングが表示される前に呼ばれる。ここでコーチング中操作できないButtonなどを非表示にする。
}
func coachingOverlayViewDidDeactivate(_ coachingOverlayView: ARCoachingOverlayView) {
// コーチングが終了したあとに呼ばれる。ここでコーチング中操作できないButtonなどを再表示する。
}
これでARSessionをrunすると動くはずです。
必要な情報が得られたら、コーチングは消えます。
このステップをやったほうが、正確なワールドトラッキングが得られます。
Core MLを使ったアプリを作っています。
機械学習関連の情報を発信しています。
Author And Source
この問題について(ARCoachingOverlayViewでユーザーにデバイスをうごかしてもらって、ARKitに世界情報をあたえる), 我々は、より多くの情報をここで見つけました https://qiita.com/john-rocky/items/ae6d6674e43b112be3ec著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .