EasyAR プロジェクトにおける AR Foundation scene 設定と使用方法
Unity で AR Foundation を使用する場合、多くの場合 EasyAR によって AR Foundation のデバイス制限を補う必要があります。以下では、EasyAR scene で AR Foundation を正しく設定して使用する方法、およびデバイスサポート状況に基づいて AR Foundation を動的に有効化する方法を説明します。
開始する前に
- Unity XR フレームワークに対する EasyAR のサポートを読み、EasyAR の Unity XR フレームワークサポートと、どのような場合に AR Foundation の使用を検討できるかを理解します。
- EasyAR プロジェクトで AR Foundation を有効にするを読み、EasyAR プロジェクトで AR Foundation をインストールして設定する方法を理解します。
AR Foundation コンポーネントを追加する
EasyAR scene に AR Foundation の AR Session と XR Origin を追加します。
AR Session を追加する
Hierarchy ビューの 空白 部分で右クリックし、メニュー XR > AR Session から Unity の ARSession を scene に追加します。

注記
この AR Session は EasyAR の AR Session とは異なり、両方が scene 内に同時に存在する必要があります。
XR Origin を追加する
Hierarchy ビューの 空白 部分で右クリックし、メニュー XR > XR Origin (Mobile AR) から Unity の XROrigin を scene に追加します。

注記
この XR Origin は EasyAR の XR Origin と機能が重複しているため、EasyAR の XR Origin ではなく Unity XR Origin を使用する必要があります。
scene 内に以前から EasyAR の XR Origin が存在する場合、通常その名前は XR Origin (EasyAR) です。その下の child object を新しく作成した XR Origin の下へ移動し、その後 XR Origin (EasyAR) を削除します。

この時点で、新しく作成した XR Origin の下に XR Origin Child がない場合は手動で追加します。
Hierarchy ビューで XR Origin を選択して右クリックし、メニュー EasyAR Sense > Origin > Origin : XR Origin Child から XR Origin Child を XR Origin の下に追加します。

Camera を設定する
scene 内に以前から AR 用の Camera がある場合、scene に余分な main camera が現れるため、元の camera を削除する必要があります。

次に XR Origin の下の Main Camera を選択し、Camera 設定の説明に従って camera を設定します。
最後に、AR Foundation を追加した完全な EasyAR scene 構造は次のようになります:
注意
ARCameraManager.currentConfiguration によって AR Foundation の設定を変更する必要がある場合、一部のスマートフォン自体(例えば Mi 10)には問題があり、設定変更後に画像を取得できず、EasyAR が使用できなくなる場合があります(アプリには画像背景があるが EasyAR 機能が反応しない)。そのため通常は変更を推奨しません。変更が必要な場合は、EasyAR が使用できないときの fallback を用意してください。
デバイス互換性と AR Foundation の動的有効化
EasyAR が互換性を持つデバイスは AR Foundation よりはるかに多いため、アプリが必要なときだけ AR Foundation を有効にし、それ以外の場合は AR Foundation を完全に無効にするよう設定する必要があります。
frame source コンポーネントを確認する
一般に、EasyAR メニューで作成された session には通常 ARCoreARFoundationFrameSource と ARKitARFoundationFrameSource が自動的に追加されます(一部の image tracking など、SLAM 機能を必要としないものを除く)。

重要
ARCoreARFoundationFrameSource と ARKitARFoundationFrameSource は、AR Foundation をサポートするデバイス上で AR Foundation 機能を有効にするために EasyAR が提供する frame source です。scene 内の session にこれらの frame source が含まれていない場合、AR Foundation 機能を有効にできません。
scene 内の session にこれらの frame source が含まれていない場合は、メニューから手動で追加できます。

AR Foundation をサポートしないスマートフォンで実行するためには、session に AR Foundation 以外の frame source も含まれていることを確認する必要があります。典型的な ARSession は次のようになります。

ヒント
実際の必要に応じて frame source を並べ替えることができます。アプリ実行時、session はデバイスサポート状況に基づき、transform 順で最初に利用可能な frame source を選択します。
必要な場合のみ AR Foundation を有効化する
AR Foundation のスマートフォン上での下位実装は ARCore と ARKit であり、限られたデバイスでしか使用できません。特に多くの中国国内 Android スマートフォンでは使用できません。そのため通常は、サポートされているデバイスでのみ AR Foundation と関連機能 script を有効にすることを推奨します。
EasyAR はこれらの操作を自動で完了できます。この機能は Project Settings > EasyAR > Sense の Unity XR > Unity XR Auto Switch option で有効または無効にできます。詳細は Unity XR object の自動切り替えを参照してください。
AR Foundation 互換性を保持する scene
AR Foundation コンポーネントを正しく追加した scene は、AR Foundation package がインストールされている場合も、インストールされていない場合も正常に動作できます。
AR Foundation がインストールされていない場合、AR Foundation の機能および対応する frame source は利用できず、scene 内の一部 script が missing になりますが、これは正常な状況です。

ヒント
多くの sample は、AR Foundation package がインストールされている場合も、インストールされていない場合も正常に動作できます。これらの sample で AR Foundation サポートを有効にする必要がある場合は、EasyAR プロジェクトで AR Foundation を有効にするだけで済みます。
次のステップ
- デバイスサポート状況に基づいて AR Foundation を自動切り替えする方法を理解する
関連トピック
- 本文で言及した関連 AR コンポーネント:
- AR Foundation は一部デバイス上の motion tracking 能力を提供します。motion tracking と各 EasyAR 機能の関係については、以下を参照してください:
- AR Foundation scene 設定の詳細については、AR Foundation 公式ドキュメントを参照できます。読む前に対応するドキュメントバージョンを選択してください: