Holographic Remotingでハンド・視線を有効にする(Unity2019以前限定)

Holographic Remotingを使うと、Visual StudioでビルドしなくてもUnityからHoloLens実機を使ってデバッグ実行ができるようになります。プログラムの実行環境としてはUnity Editorなのですが、HoloLensのディスプレイやカメラ・深度センサーなどを使って実行している状態になります。

Unity2019で実行するには、UnityのWindow > XR > Holographic Emulationからウインドウを開きます。
(Unity2020以降はやり方が変わります)

HoloLensの方では、Holographic Remotingアプリを起動しておき、HoloLensのIPかホスト名を入力して「Connect」ボタンをクリックすると接続されるので、Unity側でRunすればHoloLens側で動作が確認できます。

しかし、標準の状態ではハンドや視線は認識しません。HoloLens 2はハンドを使ったインタラクションが主となるため、このままだとかなり用途が限られます。

認識させるためには、DotNetWinRTの導入が必要となります。

DotNetWinRTのダウンロード

ドキュメントにはNuGet for Unityを使うとあるのですが、余計なファイルが増えるのが嫌なので、直接ダウンロードします。

.NET Standard compatible projection of a subset of the Windows SDK, for use in Mixed Reality applications. Includes APIs in the Windows.Perception and Windows.U...

Download packageからファイルを落として、落としたファイルの拡張子をzipに変更して解凍します。
lib > unity の中に「net46」「netstandard2.0」があるので、導入するプロジェクトに合った方を選びます。
(Player Settings > Other Settings > Api Compatibility Level)

DotNetWinRTの導入

Assets以下の好きな場所にPluginsディレクトリを作成し、「Microsoft.Windows.MixedReality.DotNetWinRT.dll」を格納します。
DLLのインスペクタで、Include Platformsの「Editor」と「WSAPlayer」にチェックを入れます。

Scripting Define Symbolsの変更

Project Settings > Player のScripting Define Symbolsに、「DOTNETWINRT_PRESENT」を入力します。既に何か値が入っていた場合は、セミコロンを区切り文字として追加します。
(例)「MOBILE_INPUT;DOTNETWINRT_PRESENT」

これでHolographic Remotingを実行すると、ハンドと視線が認識されるはずです!

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク