プロジェクト設定
XR Plug-in Management の設定を使用して、プロジェクトの Google ARCore プラグインを設定します。
開始するには、ARCore プラグインの有効化 の手順に従ってください。この手順では、必要に応じて ARCore パッケージもインストールします。インストールと有効化が完了したら、ARCore プロジェクトの設定 セクションの説明に従って、プロジェクトの設定を行うことができます。
XR Plug-in Management 設定の Project Validation セクションを確認すると、ARCore と互換性のない設定値がないかを検出することができます。
ARCore プロジェクトの設定
ARCore の一部の機能が正常に動作するためには、特定の Unity プロジェクト設定を行う必要があります。その設定とは以下のとおりです。
- Google ARCore XR Plugin の有効化: ARCore の機能を使用するには、有効にする必要があります。
- Android API Level: 最小の Android API レベルは ARCore プラグインと Unity エディターのバージョンによって異なります。Project Validation システムによって確認されます。
- OpenGLES Graphics API: ARCore プラグインがサポートしているのは OpenGLES Graphics API のみです。
- Scripting Backend: 推奨ターゲットアーキテクチャである ARM64 を使用するには IL2CPP を使用する必要があります。
- Target Architectures: すべての 64 ビットデバイスでアプリケーションを実行できるようにするには、ARM64 が推奨です。
- ARCore のサポート Requirement: アプリケーションが ARCore のサポートなしで使用できるかどうかに応じて、Optional (任意) または Required (必須) に設定できます。
- ARCore の Depth: アプリケーションが ARCore の深度情報なしで使用できるかどうかに応じて、Optional (任意) または Required (必須) に設定できます。
- Ignore Gradle Version: 有効にすると、Gradle バージョンの警告を表示しません。有効にするには、通常、カスタム Gradle 設定を使用します。
Google ARCore プラグインの有効化
ARCore を使用するには、XR Plug-in Management 設定でプラグインを有効にする必要があります (Package Manager からパッケージをインストールしても、自動的にプラグインが有効になるわけではありません)。
Note
ARCore を有効にすると、必要に応じてパッケージもインストールされます。ただし、ARCore を無効にしても、パッケージはアンインストールされません。
ARCore プラグインを有効にする前に、Unity Hub を使用して Android モジュール をインストールする必要があります。手順については、Unity Hub のドキュメントの モジュールの追加 セクションを参照してください。
ARCore を有効にするには、以下の手順に従います。
- Project Settings ウィンドウを開きます (メニュー: Edit > Project Settings)。
- XR Plug-in Management を選択して、プラグインの管理設定を表示します。
- Android タブを選択し、Android の設定を表示します (このタブはエディターの Android モジュールをインストールしている場合にのみ表示されます)。
Plug-in Providers のリストで ARCore オプションをオンにします。
ARCore の有効化
Android API Level の設定
ARCore をサポートする Android の最小バージョンは、使用している ARCore プラグインのバージョンと Unity エディターのバージョンによって異なります。Project Validation システムを使用してこの設定を確認し、必要に応じてサポートするレベルに変更します。
API レベルを確認するには、以下の手順に従います。
- Project Settings ウィンドウを開きます (メニュー: Edit > Project Settings)。
- 左側の XR Plug-in Management をクリックして、プラグインプロバイダーのリストを開きます。
- リストで Project Validation を選択し、検証ページを表示します。
- Android タブを選択して、ARCore を含む Android XR プラグインの検証チェックのステータスを表示します。
Android API level チェックに赤色のエラーアイコンが表示された場合は、現在の設定が低すぎます。Fix ボタンをクリックして、サポートされる最小値まで API レベルを上げます。
Project Validation ページを使用して Android API レベルを確認する
Tip
(現在の設定が検証にパスしているために) Android API level チェックが表示されない場合、Show all オプションをオンにします。問題リストに表示される検証メッセージには、現在の設定の最低 API レベルが含まれます。
この設定は、Player 設定で手動で変更することもできます。最低 API レベルにアクセスするには、以下の手順に従います。
- Project Settings ウィンドウを開きます (メニュー: Edit > Project Settings)。
- 左側で Player を選択して、Player 設定 ページを表示します。
- Android タブを選択して、Android の設定を表示します。
- Other Settings グループを開きます (必要な場合)。
- Configuration セクションまで下にスクロールします。
OpenGL ES Graphics API の設定
ARCore プラグインは、Vulkan グラフィックス API と互換性がありません。
OpenGL ES Graphics API を設定するには、以下の手順に従います。
- Project Settings ウィンドウを開きます (メニュー: Edit > Project Settings)。
- 左側で Player を選択して、Player 設定 ページを表示します。
- Android タブを選択して、Android の設定を表示します。
- Other Settings グループを開きます (必要な場合)。
- Rendering セクションで、Auto Graphics API オプションをオフにします (オンだった場合)。
- Graphics APIs リストで以下の作業を行います。
- リストに Vulkan が表示されている場合、リストから削除する。
- リストに OpenGLES3 が表示されていない場合、リストに追加する。
Target Architecture の設定
ARCore プロジェクトでは必ず ARM64 ターゲットアーキテクチャを有効にすることをお勧めします。32 ビットアーキテクチャである ARMv7 のみをサポートするアプリケーションは、Google Play ストアを通じて 64 ビットデバイスにインストールすることができません。さらに、32 ビット ARCore ライブラリは、すでに一部の 64 ビットデバイスでは使用できないため、アプリケーションで AR セッションの作成に失敗したり、Play ストア以外からインストールした場合にアプリケーションがクラッシュしたりするおそれがあります。詳細については、Google の ARCore ドキュメントに記載されている ARCore 64 ビット要件 を参照してください。
Android のターゲットアーキテクチャを設定するには、以下の手順に従います。
- Project Settings ウィンドウを開きます (メニュー: Edit > Project Settings)。
- 左側で Player を選択して、Player 設定 ページを表示します。
- Android タブを選択して、Android の設定を表示します。
- Other Settings グループを開きます (必要な場合)。
- Configuration セクションまで下にスクロールします。
- Target Architectures で ARM64 オプションをオンにします。
Note
ARM64 アーキテクチャを有効にするには、先に Scripting Backend を IL2CPP に設定しておく必要があります。Mono バックエンドは ARM64 をサポートしません。
Scripting Backend の設定
推奨アーキテクチャである ARM64 を使用するには、IL2CPP スクリプティングバックエンドを使用する必要もあります。
IL2CPP スクリプティングバックエンドを設定するには、以下の手順に従います。
- Project Settings ウィンドウを開きます (メニュー: Edit > Project Settings)。
- 左側で Player を選択して、Player 設定 ページを表示します。
- Android タブを選択して、Android の設定を表示します。
- Other Settings グループを開きます (必要な場合)。
- Configuration セクションまで下にスクロールします。
- Scripting Backend で IL2CPP を選択します。
IL2CPP スクリプティングバックエンドの詳細については、IL2CPP の概要 を参照してください。
ARCore のサポート Requirement の設定
ARCore をサポートしていないと動作しないアプリケーションの場合、ARCore プラグインの Requirement 設定を使用することで、ARCore をサポートしていないデバイスにインストールされないようにすることができます。ARCore をサポートしている場合にのみアプリケーションが動作する場合は、Required を選択します。ARCore の有無にかかわらずアプリケーションが動作する場合は、Optional を選択します。
ARCore の Requirement 設定を変更する前に、ARCore パッケージをインストールする必要があります。手順については、Google ARCore プラグインの有効化 を参照してください。
この設定を変更するには、以下の手順に従います。
- Project Settings ウィンドウを開きます (メニュー: Edit > Project Settings)。
- 左側の XR Plug-in Management をクリックして、プラグインプロバイダーのリストを開きます。
リストで ARCore を選択して、ARCore プラグイン設定ページを表示します。
ARCore プラグインの設定Requirement で、Optional (任意) または Required (必須) を選択します。
Note
ARCore を Required に設定しても、Unity の Build And Run (ビルドして実行) 機能または USB を介した "サイドローディング" を使用すると、ARCore をサポートしていないデバイスにアプリケーションをインストールできます。その場合、ARCore が使用可能であるとデバイスが誤ってレポートします。この挙動の原因は、Google Play ストアでは ARCore が必須のアプリケーションをサポート対象外のデバイスにインストールできないようになっており、常にそうしたアプリケーションはサポート対象デバイスで実行されることを想定しているからです。
ARCore の Depth の設定
ARCore の深度をサポートしていないと動作しないアプリケーションの場合、ARCore プラグインの Depth 設定を Required に設定することで、深度をサポートしていないデバイスにインストールされないようにすることができます。また、深度情報がなくてもアプリケーションが許容可能な程度に動作する場合は、サポートをオプションに指定できます。ARCore の深度機能の詳細については、Google の ARCore ドキュメントの 奥行きのあるリアルさ を参照してください。
この設定を変更するには、以下の手順に従います。
- Project Settings ウィンドウを開きます (メニュー: Edit > Project Settings)。
- 左側の XR Plug-in Management をクリックして、プラグインプロバイダーのリストを開きます。
- リストで ARCore を選択して、ARCore プラグイン設定ページを表示します。
- Depth で、Optional (任意) または Required (必須) を選択します。
Ignore Gradle Version
ARCore を有効にして Android Player をビルドすると、ARCore パッケージによって Gradle バージョンがチェックされ、Gradle バージョンが低すぎると判断された場合は警告が表示されます。必要な Gradle バージョンは、使用している Unity エディターのバージョンによって異なります。通常、Unity Hub を使用して Android Build Support を追加するときに、必要な Gradle バージョンがインストールされます。しかし、カスタムの Android SDK または Gradle 設定を使用する場合、バージョンの不一致が発生する可能性があります。インストール済みの Gradle バージョンが問題ないことを確認済みの場合は、Ignore Gradle Version オプションをオンにすることでこの警告が表示されないようにできます。
この設定を変更するには、以下の手順に従います。
- Project Settings ウィンドウを開きます (メニュー: Edit > Project Settings)。
- 左側の XR Plug-in Management をクリックして、プラグインプロバイダーのリストを開きます。
- リストで ARCore を選択して、ARCore プラグイン設定ページを表示します。
- Ignore Gradle Version チェックボックスをクリックして、このオプションのオン/オフを切り替えます。
Gradle の詳細については、Android の Gradle を参照してください。
プロジェクトの検証
Google ARCore パッケージでは、Project Validation システムの一揃いのルールが定義されています。これらのルールによって、ARCore とプロジェクトの設定に矛盾の可能性があるかをチェックします。
一部のルールは設定に問題がある可能性を警告するものであり、これらの問題の修正は必須ではありません。一方、アプリケーションがビルドに失敗するかビルド後に動作しなくなる設定エラーを警告するルールもあり、このようなエラーは修正する必要があります。
ARCore プロジェクトの検証結果を確認するには、以下の手順に従います。
- Project Settings ウィンドウを開きます (メニュー: Edit > Project Settings)。
- 左側の XR Plug-in Management をクリックして、プラグインプロバイダーのリストを開きます。
- リストで Project Validation を選択し、検証ページを表示します。
- Android タブを選択して、ARCore を含む Android XR プラグインの検証チェックのステータスを表示します。
検証にパスしたルールは、Show all をオンにしない限り表示されません。
一部のルールには Fix ボタンが表示され、クリックするとルールの検証にパスするように設定が更新されます。また、Edit ボタンが表示されるルールもあります。このボタンをクリックすると、関連する設定に移動して、必要な調整を自分で行うことができます。
Ignore build errors をオンにすると、ビルド前の検証チェックをバイパスできます。ただし、アプリケーション内の機能設定に誤りがあると、ランタイムに動作しなくなる可能性があります。
XR Plug-in Management ページの Android の Project Validation セクション