Magic Leap 2 のプロジェクト作成手順をまとめます。
本記事は MRTK を用いたプロジェクトの構成を行います。
MRTKとは
MRTK(MixedRealityToolkit) は Unity でのクロスプラットフォームのMRアプリ開発を支援するための機能セットを提供する Microsoft 社のプロジェクトです。
詳細は以下のページを参照ください。
github.com

MagicLeap2用MRTKのダウンロード
アプリケーションの開発に MRTK を利用したい場合は MagicLeap2 用 MRTK が提供されているのでパッケージを The Lab 2.0 から取得します。
The Lab 2.0 を起動して[Package Manager]をクリックします。

[Package Manger]画面の[All]タブを開き、[Unity Packages]項目にある[Unity MRTK]の Install アイコンをクリックします。

インストールアクションが追加されるので[Apply Changes]をクリックしてインストールを実行します。

MagicLeap2 用 MRTK がダウンロードできました。

MRTK利用のためのプロジェクト準備
MRTK を利用するにあたり幾つかのプロジェクト設定やアセットのインポートを行います。
ハンドトラッキングの設定
メニューから[Edit -> Project Settings..]を開き、[Player]タブの[Android]欄から[Other Settings]パネルを開きます。

[Configuration -> Active Input Handling]の項目を[Both]に変更します。

TMPEsentialResourcesのインポート
メニューから[Windows -> TextMeshPro -> Import TMP Essential Resources]を選択して[Import]します。

スクリプト変更時処理
メニューから[Edit -> Preferences..]を開きます。
[General -> Script Changes While Playing]の項目で[Stop Playing and Recompile]か[Recompile and Continue Playing]を選択します。

URPの設定
プロジェクトに URP の設定をインストールして URP アセットの設定を行います。
Unity プロジェクトの作成を前回記事の手順通りに実施していれば適切な URP 設定が行われています。

MRTK本体のインポート
MRTK の本ライブラリをプロジェクトにインポートします。
MRTKの推奨インポート手順
MRTK は Mixed Reality Feature Tool を使ったインポートが推奨されています。
こちらの手順は以下の公式マニュアルを参照ください。
docs.microsoft.com
本記事では手順の簡易化のため、unitypackage を使って MRTK をインポートする手順を記述します。
unitypackageを使ったMRTKのインポート
以下のページから最新の MRTK パッケージをダウンロードします。
github.com

Asset 欄からパッケージをダウンロードします。
Foundation.X.X.X.unitypackage と Examples.X.X.X.unitypackage が必須パッケージになります。そのほかのパッケージは必要に応じて追加してください。

初めに Foundation.X.X.X.unitypackage を Unity プロジェクトを開いた状態で実行するか Assets フォルダにドラッグして[import]します。

API のアップデート要求ダイアログが表示されます。
[Yes, for these and other files that might be found later]を選択してアップデートを実行します。

インポートが完了するとダイアログが表示されます。案内に従って初期設定を行います。




次に Examples.X.X.X.unitypackage を Unity プロジェクトを開いた状態で実行するか Assets フォルダにドラッグして[import]します。

これで MRTK のインポートは完了です。

MRTKのカスタマイズ
インポートした MRTK について幾つかの変更を行う必要があります。
URPの対応
今回は URP プロジェクト上で MRTK を利用するので MRTK 内のシェーダーを URP に対応させる必要があります。
メニューから[Mixed Reality -> Toolkit -> Utilities -> Upgrade MRTK Standard Shader for Universal Render Pipeline]を実行します。

Androidの対応
MRTK 内のシェーダを Android プラットフォームに対応させる必要があります。
以下のフォルダにある MixedRealityStandard.shader を開いて直接編集します。
Assets/MRTK/StandardAssets/Shaders/MixedRealityStandard.shader

シェーダの編集箇所は以下の通りです。
1.775行目、fixed facing : VFACE を bool facing : SV_IsFrontFace に変更する。

2. 956行目と959行目、* facing を * (facing ? 1.0 : -1.0) に変更する。

Magic Leap 2用MRTKのインポート
The Lab 2.0 のインストール項で[Unity MRTK]パッケージのダウンロードを実施していれば、以下のフォルダに mrtk-ml2-X.XX.X-vX.unitypackage ファイルが保存されています。
これを Unity プロジェクトを開いた状態で実行するか Assets フォルダにドラッグして MRTK をインポートします。
%USERPROFILE%/MagicLeap/tools/unity/mrtk/<Version>/mrtk-ml2-X.XX.X-vX.unitypackage

フォルダが見当たらない場合
上記のフォルダが見当たらない場合は The Lab 2.0 を起動し、[Package Manager]のページを開きます。
[Unity MRTK]の項目を開き、[Open Folder]ボタンをクリックするとダウンロード先のフォルダが確認できます。

これで Magic Leap 2用MRTKのインポートは完了です。

次は MRTK を用いたサンプルシーンの作成とビルドを行います。
bluebirdofoz.hatenablog.com

