6
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ARCoachingOverlayViewでユーザーにデバイスをうごかしてもらって、ARKitに世界情報をあたえる

Last updated at Posted at 2020-09-20

ARKitがWorldTrackingを確立するには、デバイスを動かして、ARKitに視点を与える必要があります。

ARCoachingOverlayViewでユーザーにガイダンスを出して、デバイスをうごかしてもらいます。

Sep-20-2020 14-12-53.gif
###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を使ったアプリを作っています。
機械学習関連の情報を発信しています。

Twitter
[MLBoysチャンネル]
(https://www.youtube.com/channel/UCbHff-wfjTnB3rtXIP6y0xg)
Medium

相棒
note

6
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?