本日はツール周りの調査枠です。
〇StereoKitとは?
[StereoKit]はMicrosoftによって提供されているMixedReality環境に特化した開発ツールです。
StereoKitはできる限りコーディングを必要とせずにアプリケーションを構築する考えで提供されており、UIを含むタスクのほとんどを一行のコードで構築することができます。
OpenXRはロイヤルティーフリーで提供されるAPI規格で、xRを実現する多々のデバイスへのネイティブアクセスを可能にします。
HoloLens 2を含めOculus Quest、Varjo、VIVEなどのxR機器で共通した機能を使用することができます。
[StereoKit]は現在初期リリースであり、不具合などの可能性が指摘されています。
〇StereoKitで提供される機能
・HoloLens 2、Oculus Quest、Windows Mixed Reality、Oculus Desktop、SteamVR、Varjo、Monado Linuxのプラットフォームに対応しています。
・.gltf、.glb、.obj、.stl、ASCII .plyの拡張子のモデルに対応しています。(fbxが使用できない点は注意です)
・ .jpg、.png、.tga、.bmp、.psd、.gif、.hdr、.pic、equirectangular cubemapのテクスチャフォーマットに対応しています。
またパフォーマンス性に優れた独自のレンダリングエンジンが使用できるようです。
〇環境
・Visual Studio 2019
・.Netを用いたデスクトップの開発
・ユニバーサルWindowsプラットフォームの開発
・.Netを用いたモバイルの開発
・StereoKitのVisual Studioテンプレート
またPC、各デバイスの開発者モードを有効にしている必要があります。
〇導入
①以下のサイトから[Stereokit]のテンプレートをダウンロードします。
②ダウンロードした[.vsix]ファイルをダブルクリックし、展開します。
③VisualStudio2019を開き新規プロジェクトを作成、テンプレートから[Stereokit.Net Core]を選択します。
以上でプロジェクトが作成されました。
HoloLensでデプロイするとき同様実行することでサンプルシーンが実行されます。
[StereoKit]では[HelloWorld]ではなく[HelloCube]と呼称しているようです。日本では豆腐と呼ばれますね。
以上でStereoKitを動作させることができました。現在まだHoloLens実機では確認できていないので次回では実機で動かしてみます。
〇トラブルシューティング
実行時にウィンドウが固まってしまう問題がありました。
エラーコードを見てみると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をアンインストールすることで問題が解消されました。