(参考)HoloLensからMiRZAへのアプリケーション移植
本情報は2025年5月20日付の調査レポートです。 HoloLens向けのアプリケーションをMiRZAに移植する方法をご案内いたします。 ※本情報は参考としていただき、開発・実装についての責任は負いかねます。
1. MiRZAへの移植方針
HoloLensアプリをMiRZAへ移植する際の基本的な方針は以下の通りです。
- MRTKで作成されたプロジェクトにSpacesを適用します。
- MRTKを最大限に活用し、既存の機能を極力そのまま利用します。
- MRTKで実現が難しい機能については、Spacesやその他のアセットで対応します。
基本的にはMRTK (Mixed Reality Toolkit) で作成されたアプリケーションであれば、MiRZAのマイク・カメラを利用する機能や、MiRZAで実現できない機能(アイトラッキング・センサー情報)を除き、Unityで開発されているMRTK対応アプリは1〜3日程度で簡易的なMiRZAへの移植が可能と考えられます。
補足事項
- マイクやカメラを利用する機能の移植は、それぞれ1〜2週間程度で見積もりが可能です。
- フレーズ認識については、選択するアセットによって対応規模が変わるため、4週間〜で見積もることを推奨します。
- HoloLens固有の特殊な処理については、別途代替処理の検討が必要です。
- Windows用のコードやライブラリ(DLL)を利用している場合は、Android用にコードの変更やライブラリ(aar)の置き換えを検討する必要があります。
2. HoloLensアプリ(MRTK3)とMiRZAアプリ(Spaces)の機能対応表および移植難易度
MiRZAへの移植時の難易度を「低~高」「不可」で分類しています。基本的な機能については、「低~中」で移植が可能と考えられます。 ※アプリの実装状況によって変わります。 (参考:SpacesSDK Ver1.0.2、MRTK3 2024-08-29版)

3. MRTK3のUnityプロジェクトをMiRZA用に変更する方法
開発者ドキュメントページを参考に、プロジェクトを変更します。
- MRTK3 - 概要
- MRTK3 - Mixed Reality Feature Tool
- MRTK3 - Unityプロジェクトのセットアップ
- MRTK3 - MRTK3のサンプル
- MRTK3 - ハンドトラッキング
本サイトのMRTK項目に記載がない内容については、以下で補足します。
3.1. Project Settingsの設定変更
3.1.1. MRTK3の設定
HandTrackingSubsystemの設定を変更します。 以下の2つにチェックを付けます。
- Subsystem for Unity XR Hands API
- Subsystem for Hand Synthesis

参考:Subsystem for OpenXR Hand APIの場合、初回起動時にlibMicrosoftOpenXRPlugin.soでエラーが発生することがあります。対処方法についてはP11を参照してください。
3.1.2. OpenXR Feature Groupの設定
- Snapdragon SpacesとSnapdragon Spaces (Experimental) にチェックを入れます。
- Hand TrackingとMotion Controller Modelのチェックを外します。
- Meta Quest Supportのチェックを外します。

3.2. SinglePassに対応していないShaderの変更
一部のShaderがSingle Passに対応していない場合があります。Single Pass に対応していないと、片目だけに映像が表示されることがあります。 例えば、Meshingのサンプルで使われる「Graphics Tools/Wireframe」は非対応です。 代わりに、Spaces SDKのMeshingサンプルで使われている「Unlit/Mesh Visualization」等に変更してください。

3.3. オブジェクトの位置の調整
アプリ起動時の位置がメインカメラの原点(0,0,0)となります。Unity Editorで動作確認を行う場合、カメラの初期位置を変更する必要があります。見やすい位置にオブジェクトの位置を調整してください。 HoloLensでは通常1.6m上にカメラが表示されますが、MiRZAではCamera OffsetやXROriginのCamera Y Offsetに値を設定しても無視されます。 MRTK XR RigのCamera Offsetを変更することも可能です(任意)。

3.4. ARMeshManagerの変更 (Meshing時のみ)
ARMeshManagerを使用している場合は、一部のパラメータを変更する必要があります。

3.5. MRTKのハンドトラッキング設定
- Project SettingsのMRTK3設定にて、MRTK HandsSubsystemを「Subsystem for Unity XR Hands API」にします。
