本日はHoloLensの開発環境調査枠です。
またHoloLens Adevntカレンダー2021 9日目の記事です
〇HoloLens Adevntカレンダー2021とは?
HoloLens Adventカレンダーは技術関連投稿サイトのQiita上で毎年12月に開かれているイベントの一つです。
あるテーマに沿って12月1日から25日までの間毎日誰かしらが情報共有を行うというイベントになっています。
HoloLens Advent カレンダーは初代HoloLensがリリースされた2016年より毎年開かれ今年で5年目となっています。
〇StereoKitとは?
StereoKitはMicrosoftによって提供されているMixedRealityアプリ開発に特化したVisualStudio向けのライブラリです。
Unityを使用することなくVisualStudio上でC#アプリとしてアプリケーションを作成することができます。
これはMixedRealityToolkit for Unity同様Oculus Quest 2等のデバイスにも対応しています。
公式では[StereoKit ハッカソン]が開催されています。
〇導入
①以下のサイトから[Stereokit]のテンプレートをダウンロードします。
②ダウンロードした[.vsik]ファイルをダブルクリックし、展開します。
③VisualStudio2019を開き新規プロジェクトを作成、テンプレートから[Stereokit.Net Core]を選択します。
④ソリューションが作成されます。Program.csがメインの関数です。
④実行することでウィンドウが開き手とCubeが表示されます。Unityでの開発同様Cubeを動かすことができます。
〇HoloLensへデプロイする
①HoloLensでStereoKitを使用するにはStereoKitのテンプレートから [StereoKit UWP]を選択します。
②[Program.cs]を表示するとエラーが発生することがあります。
これはネームスペースが足りていないためです。
③エラーを解消するためにソリューションをビルドします。
これによってエラーが解消されます。
④Unityのソリューションファイル同様[Device]、[Arm64]でビルドします。
以上でStereoKitのアプリが実機にデプロイされます。
〇トラブルシューティング
実行時にウィンドウが固まってしまう問題がありました。
エラーコードを見てみるとVarjo関連でエラーが発生していることがわかりました。
20211114 9:55:16.420 ERR [Varjo::Session::setError] varjo_GazeInit: Error: Gaze not connected [SK diagnostic] Using system: [SK diagnostic] OpenXR depth LSR ext enabled! 20211114 9:55:16.421 WAR [Varjo::Session::setBackwardCompatibilityOptions] Disabling off-center projection matrices due to SDK version < 1.2 20211114 9:55:16.422 ERR [Varjo::Session::setError] varjo_GazeInit: Error: Gaze not connected
筆者環境ではOculus Link環境のほかVarjoBaseも導入していたためこれが原因であると判断してVarjoBaseをアンインストールすることで問題が解消されました。