
Magic Leap2 MRTK セットアップ方法
はじめに
この記事は、Magic Leap2 Advent Calendar 2022 の20日目です。
Magic Leap2 版の MRTKのセットアップ方法について説明します。
OnePlanet XR について

このブログ記事は OnePlanet XR によるものです。
OnePlanet XR は、AR/MR/VPS技術に専門特化したコンサルティングサービスです。豊富な実績を元に、AR/MR技術を活用した新たな事業の立ち上げ支援や、社内業務のデジタル化/DX推進など、貴社の必要とするイノベーションを実現いたします。
ご相談から受け付けております。ご興味ございましたらお問い合わせください。
Magic Leap2 の MRTK
以下の機能がリリースされていますが、Hand Tracking と Voice Commands はプレリリース版なため、動作は不安定です。
Controller
Magic Leap 2 の MRTK コントローラのデモ#MRTK#MRTKv2#LEAPERSJAPAN pic.twitter.com/jFDeXrhXEU
— Sadao Tokuyama (@tokufxug) December 17, 2022
Eye Tracking
Magic Leap 2 の MRTK アイトラッキングのデモ#MRTK#MRTKv2#LEAPERSJAPAN pic.twitter.com/Lv90sZpYSX
— Sadao Tokuyama (@tokufxug) December 17, 2022
Hand Tracking
Magic Leap 2 の MRTK ハンドトラッキングのデモ#MRTK#MRTKv2#LEAPERSJAPAN pic.twitter.com/R3q1j2200b
— Sadao Tokuyama (@tokufxug) December 17, 2022
Voice Commands
Magic Leap 2 の MRTK 音声コマンドのデモ#MRTK#MRTKv2#LEAPERSJAPAN pic.twitter.com/evw8sO0r1M
— Sadao Tokuyama (@tokufxug) December 17, 2022
開発環境 / 動作環境
Unity Editor 2022.2.0b8.3023
Magic Leap SDK 1.1.0-dev2
Magic Leap Unity Package 1.2.0
Magic Leap XR Plugin 7.0.0.pre.1
MRTK Foundations v2.8.3
MRTK Examples v2.8.3
Magic Leap Unity MRTK Package 1.2.0 Version 1.0
Magic Leap2 OS 1.1.0-dev2 (B3E.221117.04-R.028)
プロジェクトの設定
Player Setting

Project Settings > Player > Windows, Mac, Linux タブ > Active Input Handling を Bothに変更します。
Text Mesh Pro Essential Resources の インポート
Window > TextMeshPro > Import TMP Essential Resources を選択してTMP Essential Resourcesをインポートします。
Preferences
Preferences > General > Script Changes While Playing を Stop Playing and Recompile または Recompile and Continue Playing を設定します。

Universal RP の インポート
Package Manager から UnityリポジトリにあるUniversal RPをインポートします。

Universal Render Pipeline Asset の 設定
Project Settings > Project > Graphics > Scriptable Render Pipeline Settings > Universal Render Pipeline Asset を設定します。

Custom Main Manifest の設定

Project Settings > Project > Player > Androidタブ > Build > Custom Main Manifest にチェックを入れます。
MRTK パッケージのインポート
MRTKのダウンロード
Github の MixedRealityToolkit-Unity から MRTK Foundation と MRTK Examplesをインポートします。

MRTK Foundation の インポート

全てNextとApplyのボタンを押して進めます。

最後、Doneを押すとインポート完了となります。
MRTK Examples インポート
ダウンロードしたMRTK Examplesをインポートします。
Upgrade MRTK Standard Shader for Universal Render Pipeline
トップメニューから、Mixed Reality > Toolkit > Utilities > Upgrade MRTK Standard Shader for Universal Render Pipelineを選択します。ダイアログが表示した場合、OKボタンをクリックします。
MRTKのシェーダーを修正
現在の状態でビルドを実施するとエラーが発生します。
Assets\MRTK\StandardAssets\Shaders\MixedRealityStandard.shaderを修正します。
775行目
以下のように変更します。
fixed4 frag(v2f i, bool facing : SV_IsFrontFace) : SV_Target
956行目
以下のように変更します。
worldNormal = normalize(worldNormal) * (facing ? 1.0 : -1.0);
959行目
以下のように変更します。
worldNormal = normalize(i.worldNormal) * (facing ? 1.0 : -1.0);
Magic Leap Unity MRTK Package 1.2.0 Version 1.0 のインポート

ML Hub の Package Manager から Unity MRTKを開き、Open FolderをクリックしてMagic Leap Unity MRTKパッケージを見つけてください。(事前にダウンロードをしている必要があります。)このパッケージをインポートします。

インポートするとAssets配下にMRTK-Magic Leap 2 のフォルダが作成され、Samples内にはMRTKのサンプルシーンがあります。これらのシーンを含めてビルドを実施します。
実行
ハンドトラッキング+コントローラ、ハンドトラッキング、空間認識、音声コマンド、アイトラッキング、コントローラのデモが体験できます。
Magic Leap 2 の MRTK インタラクション
— Sadao Tokuyama (@tokufxug) December 17, 2022
ハンドトラッキングとコントローラのデモ#MRTK#MRTKv2#LEAPERSJAPAN pic.twitter.com/fIGbGyKhcv
Magic Leap 2 の MRTK ハンドトラッキングのデモ#MRTK#MRTKv2#LEAPERSJAPAN pic.twitter.com/R3q1j2200b
— Sadao Tokuyama (@tokufxug) December 17, 2022
Magic Leap 2 の MRTK 空間認識のデモ#MRTK#MRTKv2#LEAPERSJAPAN pic.twitter.com/qNyM8QMUZj
— Sadao Tokuyama (@tokufxug) December 17, 2022
Magic Leap 2 の MRTK 音声コマンドのデモ#MRTK#MRTKv2#LEAPERSJAPAN pic.twitter.com/evw8sO0r1M
— Sadao Tokuyama (@tokufxug) December 17, 2022
Magic Leap 2 の MRTK アイトラッキングのデモ#MRTK#MRTKv2#LEAPERSJAPAN pic.twitter.com/Lv90sZpYSX
— Sadao Tokuyama (@tokufxug) December 17, 2022
Magic Leap 2 の MRTK コントローラのデモ#MRTK#MRTKv2#LEAPERSJAPAN pic.twitter.com/jFDeXrhXEU
— Sadao Tokuyama (@tokufxug) December 17, 2022
OnePlanet XR

AR/MR/VPS技術に専門特化したコンサルティングサービス
Magic Leap2 を使ったソリューションのご検討の方からのお問い合わせ、お待ちしております。
お問い合わせ先
https://1planet.co.jp/xrconsulting.html#op_form
OnePlanet Tech Magazine
Magic Leap1 、Magic Leap2 、スマホAR(Niantic Lightship ARDK、WebAR、VPSなど)といったAR技術全般をブログマガジンを連載しています。