MRが楽しい

MRやVRについて学習したことを書き残す

Mixed Reality OpenXRプラグインを使ってHolographic Remoting Playerに接続する その2(MRTKのインポート)

本日は HoloLens2 の小ネタ枠です。
XR Pluginを使ってHolographic Remoting Playerに接続する手順を記事にします。
f:id:bluebirdofoz:20210107092833j:plain

2021/10/19追記

本記事は Mixed Reality OpenXR plugin バージョン 0.1.1 時の記事になります。
2021/10/19 現在最新の Mixed Reality OpenXR plugin バージョン 1.1.1 では設定手順が本記事と一部異なります。
最新バージョンの手順は以下の記事を参照ください。
bluebirdofoz.hatenablog.com

前提条件

前回記事の続きです。
bluebirdofoz.hatenablog.com

今回はプロジェクトに MRTK をインポートして Remoting Player でポジショントラッキングやハンドトラッキングを利用します。

Microsoft Mixed Realityサーバーの参照追加

前回記事に従って[Project Settings]を設定している場合、[PackageManager]のサーバの情報を一部修正します。
Microsoft Mixed Reality のサーバの[Scopes]に com.microsoft.spatialaudio の参照を追加して[Apply]します。

Name  : Microsoft Mixed Reality
URL   : https://pkgs.dev.azure.com/aipmr/MixedReality-Unity-Packages/_packaging/Unity-packages/npm/registry/
Scopes: com.microsoft.mixedreality
         com.microsoft.spatialaudio

f:id:bluebirdofoz:20210107092902j:plain

警告ダイアログが表示されます。[OK]を押して実行します。
f:id:bluebirdofoz:20210107092916j:plain

これで PackageManager から MRTK を参照する準備が整いました。
f:id:bluebirdofoz:20210107092928j:plain

MRTKパッケージの追加

次に PackageManager でパッケージのインポートを行います。
メニューから Windows -> PackageManager を選択します。
f:id:bluebirdofoz:20210107092943j:plain

[Package Manager]ダイアログが開きます。
[+]ボタンのプルダウンを開き、[Add package from git URL..]を選択します。
f:id:bluebirdofoz:20210107093001j:plain

入力欄が表示されるので、以下の通り、インポートしたいパッケージのURLを指定して[Add]ボタンでインポートします。
基礎パッケージのみ必須パッケージとなります。

基礎パッケージ    : com.microsoft.mixedreality.toolkit.foundation
ツールパッケージ  : com.microsoft.mixedreality.toolkit.tools
テストパッケージ  : com.microsoft.mixedreality.toolkit.testutilities
拡張パッケージ    : com.microsoft.mixedreality.toolkit.extensions
サンプルパッケージ: com.microsoft.mixedreality.toolkit.examples

f:id:bluebirdofoz:20210107093014j:plain

インポートが完了すると[MRTK Project Configurator]ダイアログが表示されるので[Apply]を実行します。
f:id:bluebirdofoz:20210107093024j:plain

再起動の要求ダイアログが表示されます。
[Apply]ボタンをクリックして Unity を再起動します。
f:id:bluebirdofoz:20210107093038j:plain

これで MRTK がインポートできました。
f:id:bluebirdofoz:20210107093051j:plain

シーンの設定

MRTK をインポートすると、メニューに[Mixed Reality Toolkit]が追加されます。
[Mixed Reality Toolkit -> Add to Scene and Configure..]を実行します。
f:id:bluebirdofoz:20210107093105j:plain

シーンに[MixedRealityToolkit]と[MixedRealityPlayspace]オブジェクトが追加されます。
f:id:bluebirdofoz:20210107093118j:plain

[MixedRealityToolkit]オブジェクトの[Inspector]ビューを開きます。
プロファイルのプルダウンを開き、[DefaultOpenXRConfigurationProfile]のプロファイルを指定します。
f:id:bluebirdofoz:20210107093129j:plain

これでシーンの設定が完了しました。

Tips

DefaultOpenXRConfigurationProfile のプロファイルは MRTK 2.5.2 以降から追加されています。

Editor実行時の背景設定

このままでも動作確認が可能ですが、UnityEditor でアプリを実行した場合は背景にスカイボックスが表示されます。
背景に黒の透過色を設定しておくことで、Remoting Player で HoloLens2 に投影した時、背景を透過させることができます。
f:id:bluebirdofoz:20210107093141j:plain

[DefaultOpenXRConfigurationProfile]のプロファイルを元に、[Copy & Customize]で新規プロファイルを作成します。
[Clone Profile]ダイアログが開くので、任意のプロファイル名を設定して[Clone]を実行します。
f:id:bluebirdofoz:20210107093154j:plain

更に[Camera]タブを開き、[CameraProfile]のプロファイルを[Clone]して新規プロファイルを作成します。
[Clone Profile]ダイアログが開くので、任意のプロファイル名を設定して[Clone]を実行します。
f:id:bluebirdofoz:20210107093205j:plain

これで[Display Settings]の設定が編集できるようになります。
UnityEditor での実行では[Opaque]の設定項目が参照されるため、[Skybox]が表示されています。
f:id:bluebirdofoz:20210107093215j:plain

[ClerFlags]を[Color]に変更して単一の背景色を設定します。
[Background Color]には黒の透過色を設定します。
f:id:bluebirdofoz:20210107093226j:plain

これで Editor 実行時の背景設定は完了です。

Holographic Remoting Playerに接続する

前回と同様にシーンを再生して、HoloLens2 で起動した Holographic Remoting Player に接続を行います。
f:id:bluebirdofoz:20210107093238j:plain

HoloLens2 側で UnityEditor 上で動作中のアプリケーションが表示され、ポジショントラッキングにカメラが追従すれば成功です。
f:id:bluebirdofoz:20210107093251j:plain

更にオブジェクトに[Object Manipulator]を設定すると、ハンドトラッキングも正常に動作することを確認できます。
f:id:bluebirdofoz:20210107093301j:plain