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

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

注記
このXR OriginはEasyARのXR Originと機能が重複するため、EasyARのXR OriginではなくUnity XR Originを使用する必要があります。
シーンに既存のEasyAR XR Origin(通常XR Origin (EasyAR)という名前)がある場合、その子オブジェクトを新しく作成したXR Originの下に移動し、XR Origin (EasyAR)を削除します。

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

カメラの設定
シーンに既存のAR用Cameraがある場合、不要なメインカメラが出現するので、元のカメラを削除します。

次に、XR Origin下のMain Cameraを選択し、カメラ設定の説明に従って設定します。
最終的に、AR Foundationが追加された完全なEasyARシーンの構造は以下のようになります:
注意
ARCameraManager.currentConfigurationを使用してAR Foundationの設定を変更する場合、一部のスマートフォン(例:Xiaomi 10)では設定変更後に画像を取得できない問題が発生し、EasyARが使用不可になることがあります(アプリには背景画像が表示されるがEasyAR機能が反応しない)。そのため、通常は変更を推奨せず、変更が必要な場合はEasyARが使用できない場合の代替案を準備してください。
デバイス互換性とAR Foundationの動的有効化
EasyARはAR Foundationよりも多くのデバイスと互換性があるため、必要な場合にのみAR Foundationを有効化し、それ以外では完全に無効化するように設定する必要があります。
frame sourceコンポーネントの確認
通常、EasyARメニューから作成されたsessionには、自動的にARCoreARFoundationFrameSourceおよびARKitARFoundationFrameSourceが追加されます(一部の画像追跡などSLAM機能を必要としないケースを除く)。

重要
ARCoreARFoundationFrameSourceおよびARKitARFoundationFrameSourceは、AR Foundationをサポートするデバイスでその機能を有効にするためのEasyAR提供のframe sourceです。シーンのsessionにこれらのframe sourceがない場合、AR Foundation機能を有効にできません。
シーンの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および関連機能スクリプトを有効化することを推奨します。
EasyARはこれらの操作を自動化でき、この機能はProject Settings > EasyAR > Sense内のUnity XR > Unity XR Auto Switchオプションで有効/無効を切り替えられます。詳細はUnity XRオブジェクトの自動切り替えを参照してください。
AR Foundation互換性を保持するシーン
正しくAR Foundationコンポーネントが追加されたシーンは、AR Foundationパッケージがインストールされているかどうかに関わらず正常に動作します。
AR Foundationがインストールされていない場合、AR Foundation機能および対応するframe sourceは使用不可となり、シーン内の一部スクリプトが欠落しますが、これは正常な状態です。

ヒント
多くのサンプルはAR Foundationパッケージのインストール有無に関わらず動作します。これらのサンプルでAR Foundationサポートを有効にするには、EasyARプロジェクトでのAR Foundationの有効化を実施してください。
次のステップ
- デバイスのサポート状況に基づくAR Foundationの自動切り替え方法を学ぶ
関連トピック
- 文中で言及された関連ARコンポーネント:
- AR Foundationは一部デバイスでのモーショントラッキング機能を提供します。モーショントラッキングと各EasyAR機能の関係については以下を参照:
- AR Foundationシーン設定の詳細についてはAR Foundation公式ドキュメントを参照(対応するドキュメントバージョンに注意):