本日は MRTK の使い方枠です。
Mixed Reality Feature ToolとMRTK3を使ってMetaQuest3向けのUnityプロジェクト作成を行う手順を記事にします。
今回はプラットフォームの切り替えです。
前回記事
MRTK3の基本的なセットアップ手順はHoloLens2向けアプリと違いありません。
本記事では以下の前回記事で作成したUnityプロジェクトをMetaQuest3向けに変更します。
bluebirdofoz.hatenablog.com
公式マニュアル
MRTK3の公式マニュアルにQuestデバイス向けの構築手順がまとめられています。
learn.microsoft.com
事前準備
UnityからQuestアプリをビルドするには[Android Build Support]内の[Android SDK & NDK Tools]と[OpenJDK]モジュールが必要です。
以下の手順でモジュールを追加できます。
bluebirdofoz.hatenablog.com
自作アプリをQuestにデプロイするため、Questを開発者モードに設定しておく必要があります。
以下の手順でQuest3でも開発者モードを有効化できます。
bluebirdofoz.hatenablog.com
プラットフォームの切り替え
ターゲットプラットフォームをAndroidに切り替えます。
メニューから[File -> Build Settings]を開き、[Android]を選択して[Switch Platform]で切り替えます。
MRTKProfileの設定
今回はMetaQuestの場合もデフォルトのMRTKProfileを利用します。
メニューから[Project Settings]を開き、[MRTK]タブの[Android]欄を開きます。
MRTK3のパッケージには予め基本的な設定を行ったデフォルトプロファイルが用意されています。
以下のパッケージフォルダのプロファイルを[Profile]に設定します。
Packages/MRTK Core Definitions/Configuration/Default Profiles/MRTKProfile.prefab
XRプラグインの設定
次に使用するXRプラグインを指定します。
MRTK3は互換性の問題によりOculusXRを使用することは推奨されておらず、OpenXRの使用が推奨されています。
learn.microsoft.com
メニューから[Project Settings]を開き、[XR Plug-in Management]タブの[Android]欄を開きます。
[Initialize XR on Startup]にチェックを入れて[OpenXR]にチェックを入れます。
次にOpenXRで利用する機能を選択するため、[XR Plug-in Management -> OpenXR]タブを開きます。
[Interaction Profiles]に[+]プルダウンから[Microsoft Hand Interaction Profile]を追加します。
[OpenXR Feature Groups]欄で以下を有効化します。
・HandTracking
・MetaQuestSupport
・MotionControllerModel
GLTFインポータ
MRTK3でコントローラモデルを表示したい場合はGLTFインポータをプロジェクトに取り込む必要があります。
以下のGitHubページのリンクからunitypackageをダウンロードします。
github.com
ダウンロードしたInstall-com.atteneder.gltfast-latest.unitypackageをUnityプロジェクトにインポートします。
エラーの修正
OpenXRの有効化に伴い、発生しているエラー/警告を修正します。
[XR Plug-in Management -> Project Validation]を開き、[Fix All]を実行すると自動修復可能な問題が解決されます。
自動修復ができない問題は手動で修正を行います。警告に関しては無視しても問題ありません。
MetaQuest3へのデプロイ
プロジェクトのビルドとMetaQuest3へのデプロイを行います。
PCにQuest3をUSB接続した状態でメニューから[File -> Build Settings]を開きます。
[Run Device]で[Quest 3]を選択し、[Build And Run]を実行します。
MetaQuest3にアプリがデプロイされて起動します。
以下の通り、MRTK3を使ったQuest3向けアプリが作成できました。