本日は調査枠です。
MRTKv2.7ではOpenXRが正式にサポートされました。これによってMRTKのシーンのProfileも変える必要があるのですが、筆者はまだ理解できていないため今回OpenXRとは何か調べてまとめていきます。
〇OpenXRとは?
OpenXRはオープンソースでロイヤリティフリーのxR向けデバイスにアクセスできる規格のようです。
開発元は[クロノス・グループ]というアメリカの非営利団体(技術コンソーシアム)です。
OpenXRを用いることでマルチプラットフォームなデバイスで共通して使用できるAPIを用いることができます。
〇MRTK×OpenXR
MRTKでは最初からマルチプラットフォームでのアプリケーション開発を念頭に設計されています。
HoloLensからWindowsMixedRealityイマーシブヘッドセット、Android、iOS、LeapMotion、最近ではOculusQuestにも対応しました。
このOpenXRはマルチなデバイス間で機能やコードの供用を行うための移植可能なコードを提供します。
HoloLens 2の全機能をターゲットに開発するには、OpenXR 1.0のコア機能に加えハンド・トラッキング、アイトラッキング、空間認識、SpatialAnchorなどの追加機能を可能にする、OpenXRの拡張機能を使用することになります。
HoloLensなどのMRデバイス用に提供される[Windows Mixed Reality OpenXR Runtime]はOpenXRを用いてHoloLens 2の全機能を拡張し、設定します。
現在対応していない機能も今後のreleaseで対応させて完全にOpenXRに寄せていくようです。
〇Unity×OpenXR
Unity2020.3LTS版とMRTKv2.7以上が推奨されているようです。 ここでは[Mixed Reality OpenXRプラグイン]が提供されているためです。
MRTKでは2.7以降のバージョンでOpenXRがサポートされています。
このプラグインには、Hand/Eyeトラッキング、SpatialAnchor、HP Reverb G2コントローラなどに加え、HoloLens 2とWindows Mixed Realityヘッドセットの機能をすべて網羅するOpenXR拡張機能のサポートが含まれています。
〇注意点
・Unity2021.2以降ではレガシーXR、WindowsXRのサポートが終了し、OpenXRが唯一のサポートになります。
・HoloLens 1stではUnity2020以降のサポートがされておらず、HoloLens 1stをターゲットとする場合Unity2019.4LTSがサポートされていくようです。
・[AzureRemoteRendering]のサポートはUnity2020でされていないため注意が必要のようです。