Unity の XR SDK プラグイン システムを使用したクロスプラットフォーム
World Locking Tools の初期開発は、Unity のXR.WSA(VR/AR Windows ストア アプリ)API を介して HoloLens ファミリーのデバイスを対象に行いました。 これは、Unity のレガシー XR インターフェース、または Unity のビルトイン VR サポートとして一般に知られるようになったものの一部です。
その後、Unity はXR プラグイン アーキテクチャを導入しました。その目的は、開発者が使用可能な VR および AR デバイス全体の共通機能にアクセスできるクロス プラットフォーム抽象化を提供する点です。
この移行ェーズにおいて、WLTはHoloLens のレガシーXRインターフェースと、クロスプラットフォーム用のAR Subsystems
/XR Plugin Management
の両方がサポートされています。 なお、Legacy XR インターフェースは Unity 2019 から非推奨となり、Unity 2020 時点ではサポート対象外となった点にご注意ください。
現在、WLT は、Unity 2019.4 (LTS) 用の AR Subsystemバージョン2.X.Yと、Unity 2020.3 (LTS) 用の XR プラグインの管理 バージョン4.0.7以降をサポートしています。 以降のリリースでは、バージョン サポートが展開される予定です。
WLT をターゲット XR SDK に切り替える
WLT for XR SDK のターゲット設定は非常に簡単です。 まず、XR Plugin システムを利用するために、プロジェクトの設定を行います。
MRTK
を使用する場合は、以下の手順に従ってください。 この記事の後半に追加のヒントと注意事項があります。
MRTK
を使用しない場合は、この少し複雑な手順に従ってください。
いずれの場合も、Unity のXR Plug-in Management
システムがインストールされて有効になっており、プラットフォームに適したXR Plug-in provider
がインストールされて選択されている状態になります。
必要なリソースをインストールした後、シーンの ワールドロック コンテキストで アンカー サブシステムの種類を変更します。
自動選択
スクリプトMixed Reality => World Locking Tools => Configure scene
を実行すると、プロジェクトとシーンの設定に基づいて、正しい Anchor Subsystem が選択されます。 Configure scene
のスクリプトを繰り返し実行しても安全です。 シーンがすでに適切に設定されている場合は、何も変更されません。
手動選択
- 最初の (またはグローバル) シーンで WorldLockingManager GameObject に移動します。
- インスペクターで、WorldLockingContext を見つけます。
- アンカー管理の設定を開きます。
- 「既定値の使用」チェックボックスがオフになっていることを確認します。
- Anchor Subsystem の種類を
XRSDK
に変更します。
プロジェクトとシーンがAR Foundation
を使用するように設定されている場合、代わりに AR Foundation
Anchor Subsystem を選択します。 Azure Spatial Anchors のサンプルでは、AR Foundation
(現在 ASA の要件)を使用するための適切な構成が示されています。
XR SDK での MRTK と WLT の使用
MRTKは、VR や AR におけるユーザーの操作を抽象化する素晴らしい価値を提供するだけでなく、XR SDK によるデバイスのターゲット設定を大幅に簡素化します。 MRTK を特定のデバイスをターゲットに設定する際に役立つと思われる注意事項を次に示します。
これらはいずれも、前項の WLT アンカー管理アンカー サブシステムが適切に設定されていることが前提です。
プラグイン対象を変更する場合は、必ずMixed Reality Toolkit => Utilities => UnityAR => Update Scripting Defines
を実行してください。
Windows XR Plugin(HoloLens)のセットアップ
詳細な手順については、「MRTK と XR SDK の概要」 を参照してください。
WLT プロジェクトで作業している場合は、HoloLens2 で提供される 「WLT HL2 MRTKProfile」 か、モバイル デバイスで 「WLT AR MRTKProfile」 を使用して開始できます。
Windows XR プラグインを使用した WLT は、次のバージョンを使用して Unity 2019.4 と Unity 2020.3 でテストされています。
- XR プラグインの管理: v3.2.16 (v3.X.Y, X >= 2 で動作する予定)
- Windows XR プラグイン: v2.4.1 (v2.4.1 より前のアンカーは破損していました。v2.4.Y、Y>=1、v2 で動作することが想定されています。X.Y、X>=1)。
- Mixed Reality OpenXR プラグイン: v1.2.0 (以前のバージョンは、軽微な問題で機能しました。最新の MR OpenXR プラグインを強くお勧めします)。)
Windows MR Plugin
かMixed Reality OpenXR Plugin
のどちらか 1 つのみ必要です。
ARCore XR Plugin のセットアップ (Android)
MRTK AR アプリケーションを駆動する Android XR プラグインを取得するには、iOS および Android 用に MRTK を構成する方法に関するページの手順に従ってください
注: 次のすべてが必要です。
- XR プラグインの管理 (テスト済 v3.2.16、v3.X.Y, X>=2 が期待される)。
- AR サブシステム (テスト済み v2.1.3、v2 が必要です。X.Y、X>1)。
- AR Core XR Plugin (テスト済み v2.1.12, 想定 v2.X.Y, X>1)です。
- AR サブシステム (テスト済み v2.1.10、v2 が必要です。X.Y、X>1)。
まずは WLT が提供する 「WLT AR MRTKProfile」をお使いになることをお勧めします。
注: manifest-merger failed というビルド エラーが発生した場合は、こちらの適切な手順に従ってください。 https://developers.google.com/ar/develop/unity/android-11-build
他の XR プラグイン(ARKit、Oculus など)のセットアップ
他のプラットフォームのセットアップは、ARCore のセットアップと類似している可能性がありますが、テストされていない場合があります。 もし、そのようなデバイスをお持ちで、試す機会があれば、どんなフィードバックでも、コミュニティの役に立ち、非常に高く評価されます。