本日はMixedReality調査枠です。
〇HoloGrapicRemotingとは?
HoloLens はWindowsOSを搭載したパソコンですが、HoloLens単体でアプリケーションを開発することはできません。
別のWindowsPCでUnityもしくはUnrealEngineもしくはDirectXでアプリケーションを構築し、それを実機へデプロイして初めてHoloLensでオリジナルのアプリケーションを開発することができます。 この際デバッグなど実機上での動きを即座に確認するための機能としてHoloGraphicRemotingがあります。
HoloGraphicRemotingには主に2種類のユースケースが考えられています。
①UnityからデプロイせずにHoloLensでの動きを確認できる。
②PCのリソースを使用してHoloLensの処理を抑えハイエンドな体験を行う
今回はユースケース①のUnityからデプロイせずに実機でのデバッグを行うためにHoloGraphicRemotingを使用していきます。
〇HoloGraphicRemotingの使用
HoloGraphicRemotingはMRTKのパッケージに含まれています。
そのためMRTKを導入しているUnityプロジェクトではすぐに使用することができます。
使用するためにはUnity上部のワールドタブからMixedRealityToolkit→Remoting→HoloGraphicRemoting for PlayModeを選択します。
ここではHoloGraphicRemotingの専用ウィンドウが開きます。
Remote Host Nameに使用するHoloLens 2のIPアドレスを入力します。
〇HoloLens側の設定
HoloLens 2ではHoloGraphicRemotingのアプリを使用します。
これはMicrosoft Storeで無料で入手することができます。
アプリを起動すると準備が完了します。
Unity側でEnable HoloGrapicRemoting for Playmodeを選択しエディタを実行します。
しかし筆者環境ではエラーが発生してしまいました。
数時間前までは正常に動いていましたが、ネットワークの影響を大きく受け接続が不安定になることがあるようです。
こういった場合は有線接続を行うことで安定させることができます。
この方法はHoloRangerの先輩であり神戸を中心に活動されているHoloRangerの堀尾さんが記事にしている情報がわかりやすかったです。
一度HoloLensのWi-fi機能をオフにして、PCとHoloLensを有線接続し、HoloGraphicRemoting Playerを起動し通常通り行うことで安定するようです。
正常に起動するとHoloLensでリアルタイムに状況を確認や機能を実装しながらUnityの画面で管理やデバッグができます。
通常は再現が難しいSpatialAwarenessのSpatialMesh(空間メッシュ)もUnityで再現され、どのように機能が働いているかも確認することができます。
通常レンダリングコストから使用が制限されるポストプロセスなどもこうFPSを維持しながら美しく描画されます。
本日は以上です。
HoloLens 1st時点ではよく使っていた機能でしたが、接続の不安定さでしばらくの間使用していなかったですが、Azure RemoteRenderingのように美しい描画ができるためデバッグという機能と合わせこれから頻繁に使っていきたいです。