Table of Contents

EasyAR プロジェクトにおける AR Foundation scene 設定と使用方法

Unity で AR Foundation を使用する場合、多くの場合 EasyAR によって AR Foundation のデバイス制限を補う必要があります。以下では、EasyAR scene で AR Foundation を正しく設定して使用する方法、およびデバイスサポート状況に基づいて AR Foundation を動的に有効化する方法を説明します。

開始する前に

AR Foundation コンポーネントを追加する

EasyAR scene に AR Foundation の AR Session と XR Origin を追加します。

AR Session を追加する

Hierarchy ビューの 空白 部分で右クリックし、メニュー XR > AR Session から Unity の ARSession を scene に追加します。

alt text

注記

この AR Session は EasyAR の AR Session とは異なり、両方が scene 内に同時に存在する必要があります。

XR Origin を追加する

Hierarchy ビューの 空白 部分で右クリックし、メニュー XR > XR Origin (Mobile AR) から Unity の XROrigin を scene に追加します。

alt text

注記

この 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) を削除します。

alt text

この時点で、新しく作成した XR Origin の下に XR Origin Child がない場合は手動で追加します。

Hierarchy ビューで XR Origin を選択して右クリックし、メニュー EasyAR Sense > Origin > Origin : XR Origin Child から XR Origin Child を XR Origin の下に追加します。

alt text

Camera を設定する

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

alt text

次に XR Origin の下の Main Camera を選択し、Camera 設定の説明に従って camera を設定します。

最後に、AR Foundation を追加した完全な EasyAR scene 構造は次のようになります:

alt text

注意

ARCameraManager.currentConfiguration によって AR Foundation の設定を変更する必要がある場合、一部のスマートフォン自体(例えば Mi 10)には問題があり、設定変更後に画像を取得できず、EasyAR が使用できなくなる場合があります(アプリには画像背景があるが EasyAR 機能が反応しない)。そのため通常は変更を推奨しません。変更が必要な場合は、EasyAR が使用できないときの fallback を用意してください。

デバイス互換性と AR Foundation の動的有効化

EasyAR が互換性を持つデバイスは AR Foundation よりはるかに多いため、アプリが必要なときだけ AR Foundation を有効にし、それ以外の場合は AR Foundation を完全に無効にするよう設定する必要があります。

frame source コンポーネントを確認する

一般に、EasyAR メニューで作成された session には通常 ARCoreARFoundationFrameSourceARKitARFoundationFrameSource が自動的に追加されます(一部の image tracking など、SLAM 機能を必要としないものを除く)。

alt text

重要

ARCoreARFoundationFrameSourceARKitARFoundationFrameSource は、AR Foundation をサポートするデバイス上で AR Foundation 機能を有効にするために EasyAR が提供する frame source です。scene 内の session にこれらの frame source が含まれていない場合、AR Foundation 機能を有効にできません。

scene 内の session にこれらの frame source が含まれていない場合は、メニューから手動で追加できます。

alt text

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

alt text

ヒント

実際の必要に応じて frame source を並べ替えることができます。アプリ実行時、session はデバイスサポート状況に基づき、transform 順で最初に利用可能な frame source を選択します。

必要な場合のみ AR Foundation を有効化する

AR Foundation のスマートフォン上での下位実装は ARCore と ARKit であり、限られたデバイスでしか使用できません。特に多くの中国国内 Android スマートフォンでは使用できません。そのため通常は、サポートされているデバイスでのみ AR Foundation と関連機能 script を有効にすることを推奨します。

EasyAR はこれらの操作を自動で完了できます。この機能は Project Settings > EasyAR > SenseUnity 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 になりますが、これは正常な状況です。

alt text alt text

ヒント

多くの sample は、AR Foundation package がインストールされている場合も、インストールされていない場合も正常に動作できます。これらの sample で AR Foundation サポートを有効にする必要がある場合は、EasyAR プロジェクトで AR Foundation を有効にするだけで済みます。

次のステップ

関連トピック

  • 本文で言及した関連 AR コンポーネント:
  • AR Foundation は一部デバイス上の motion tracking 能力を提供します。motion tracking と各 EasyAR 機能の関係については、以下を参照してください:
  • AR Foundation scene 設定の詳細については、AR Foundation 公式ドキュメントを参照できます。読む前に対応するドキュメントバージョンを選択してください: