LoginSignup
0
3

More than 1 year has passed since last update.

ARCore (Unity)で平面検知のモードを実行中に切り替える

Last updated at Posted at 2019-02-01

この記事は古いです

UnityARCoreSDKは開発終了しています
現在はARFoundationを用いた開発が主流なためこの記事は参考にならないです。

概要

ARCoreでアプリ開発してる際に「このメッセージ表示している時は平面の検知してほしくないなぁ」というタイミングや垂直面の検知はしてほしくないタイミングが発生してきたので切り替えれる関数を作ることにしました。
ARCoreUnitySDKの1.6で実装してます。

実装

今回はめんどくさかったのでARCoreSessionクラスの中に追加でメソッドを定義しました

ARCoreSession.cs
 public void ChangeDetectedPlaneFindingMode(DetectedPlaneFindingMode mode)
        {
            this.SessionConfig.PlaneFindingMode = mode;
            this.OnEnable();
        }

とてもシンプルな話でセッションを作成するときに使っているSessionConfigの中のPlaneFindingModeを書き換えてやってからOnEnableを呼びます。

OnEnabnleの中では

LifecycleManager.Instance.EnableSession();

という処理がありこの中でセッション情報の更新をやってくれてるみたいです。

あとはこの関数を好きなところから呼んでやれば平面検知のモードを切り替えることができます。
なお、InstantPreviewではこの関数は実行できません。警告が出ます。
InstantPreview中は平面検知のモード変更はできない模様。
# まとめ
ARCoreは良いぞ。

0
3
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
0
3