MRが楽しい

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

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

本日は HoloLens2 の小ネタ枠です。
Mixed Reality OpenXRプラグインを使ってHolographic Remoting Playerに接続する手順を記事にします。
f:id:bluebirdofoz:20210106025438j: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

Mixed Reality OpenXRプラグイン

unity 2020.2 以降では HoloLens 2 および Windows Mixed Reality ヘッドセットの一連の機能をサポートした Mixed Reality OpenXR プラグインのパッケージが提供されています。
docs.microsoft.com

こちらのパッケージを使っても Holographic Remoting Player への接続が可能です。
以下にプラグインのインストール手順と Remoting Player の接続方法を記述します。

Microsoft Mixed Realityサーバーの登録

最初に PackageManager で参照するサーバーの登録を行います。
メニューから Edit -> Project Settings.. を選択します。
f:id:bluebirdofoz:20210106025504j:plain

[Project Settings]ダイアログが開くので[PackageManager]タブを開きます。
f:id:bluebirdofoz:20210106025512j:plain

[New Scoped Registry]の欄に以下のサーバーの設定を入力し、[Save]ボタンで登録します。

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

f:id:bluebirdofoz:20210106025523j:plain

これで参照サーバーの登録は完了です。
f:id:bluebirdofoz:20210106025534j:plain

Mixed Reality OpenXRプラグインの追加

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

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

入力欄が表示されるので com.microsoft.mixedreality.openxr のURLを指定して[Add]ボタンでインポートします。
f:id:bluebirdofoz:20210106025603j:plain

[Add]ボタンのクリックと共にインポートが開始します。
f:id:bluebirdofoz:20210106025612j:plain

インポートが完了すると、Assets フォルダに XR フォルダが追加されます。
f:id:bluebirdofoz:20210106025621j:plain

これで Mixed Reality OpenXR プラグインがインポートできました。

プラグイン構成の設定

再び[Project Settings]ダイアログを開き、[XR Plug-in Management]タブを開きます。
f:id:bluebirdofoz:20210106025632j:plain

Remoting Player を利用したい環境の[PC]、[UWP]タブそれぞれで構成の設定を行います。
[Initialize XR on Startup]にチェックを入れ、[OpenXR (Preview)]と[Microsoft HoloLens Feature Set]を有効にします。
f:id:bluebirdofoz:20210106025721j:plain
f:id:bluebirdofoz:20210106025732j:plain

[OpenXR (Preview)]の横に赤い警告アイコンが表示されることがあります。
この場合は、アイコンをクリックして表示されたダイアログで[Fix All]を実行します。
f:id:bluebirdofoz:20210106025743j:plain

問題が修正され、再起動の要求ダイアログが表示されます。
[Apply]ボタンをクリックして Unity を再起動すると問題が解消されます。
f:id:bluebirdofoz:20210106025756j:plain

警告アイコンが消えます。これで設定は完了です。
f:id:bluebirdofoz:20210106025806j:plain

Holographic Remoting Playerに接続する

同一ネットワークに接続した HoloLens2 で Holographic Remoting Player を起動します。
HoloLens2 のIPアドレスを確認します。
f:id:bluebirdofoz:20210106025815j:plain

[Project Settings]ダイアログを開き、[XR Plug-in Management -> OpenXR -> Features]タブを開きます。
f:id:bluebirdofoz:20210106025824j:plain

[Show All]を選択し、[Holographic Editor Remoting]にチェックを入れます。
[Settings]を開き、[Remote Host Name]に先ほど確認したIPアドレスを入力します。
これでエディターのシーンを再生すると同時に、Remoting Player の接続が実行されるようになります。
f:id:bluebirdofoz:20210106025836j:plain

動作確認

[再生]ボタンをクリックすると、ストリーミングが開始します。
f:id:bluebirdofoz:20210106025848j:plain

HoloLens2 側で UnityEditor 上で動作中のアプリケーションが表示されれば成功です。
f:id:bluebirdofoz:20210106025859j:plain

ただし、このままだとポジショントラッキングにカメラが追従しない問題が発生します。
Remoting Player でポジショントラッキングやハンドトラッキングを利用するには、更に MRTK のインポートと設定を行います。
bluebirdofoz.hatenablog.com