OpenXR
OpenXR は、Khronos によるオープンでロイヤリティフリーの API 標準であり、Mixed Reality スペクトル全体のさまざまなデバイスへのネイティブ アクセスをエンジンに提供します。
HoloLens 2 で OpenXR を使用するか、デスクトップで Windows Mixed Reality イマーシブ VR ヘッドセットを使用して開発できます。 ヘッドセットにアクセスできない場合は、代わりに HoloLens 2 エミュレーターまたは Windows Mixed Reality シミュレーターを使用できます。
OpenXR を使用する理由
OpenXR を使用すると、HoloLens 2 などのホログラフィック デバイスと、デスクトップ PC 用の Windows Mixed Reality ヘッドセットなどのイマーシブ VR デバイスの両方をターゲットとするエンジンを構築できます。 OpenXR により、コードを 1 回作成するだけで、その後、さまざまなハードウェア プラットフォームに移植できます。
OpenXR API ではローダーを使用して、アプリケーションをヘッドセットのネイティブ プラットフォーム サポートに直接接続します。 エンド ユーザーは、Windows Mixed Reality ヘッドセットまたはその他のヘッドセットのどちらを使用しているかにかかわらず、パフォーマンスを最大化し、待機時間を最小限に抑えることができます。
OpenXR とは
OpenXR API は、ホログラフィック デバイスとイマーシブ デバイスの両方をターゲットにできるエンジンを構築するために必要なコア ポーズ予測、フレーム タイミング、空間入力機能を提供します。
OpenXR API については、OpenXR 1.0 の仕様、API リファレンス、クイック リファレンス ガイドを参照してください。 詳細については、Khronos OpenXR のページを参照してください。
HoloLens 2 の完全な機能セットを対象にするには、ベンダー間およびベンダー固有の OpenXR 拡張機能も使用します。 これにより、多関節ハンド トラッキング、視線追跡、空間マッピング、空間アンカーなどの機能が有効になります。 詳細については、「 Roadmap」セクション 今年後半に提供される拡張機能を参照してください。
OpenXR 自体は、Mixed Reality エンジンではありません。 代わりに、OpenXR を使用することにより、Unity や Unreal などのエンジンで、移植可能なコードを 1 回作成し、その後、プラットフォームを構築したベンダーに関係なく、ユーザーのホログラフィックまたはイマーシブ デバイスのネイティブ プラットフォーム機能にアクセスできます。
ロードマップ
OpenXR 仕様では、ランタイム実装者が、base OpenXR 1.0 仕様で定義されているcore 機能を超えて他の機能を公開できるようにする拡張メカニズムを定義。
OpenXR 拡張機能には、次の 3 種類があります。
- ベンダー拡張機能 (例:
XR_MSFT_...
): ハードウェアまたはソフトウェア機能のベンダーごとのイノベーションを実現します。 ランタイム ベンダーは、いつでもベンダー拡張機能を導入および出荷できます。 - 試験的なベンダー拡張機能 (例:
XR_MSFTX_...
): フィードバックを収集するためにプレビューされる試験的なベンダー拡張機能。XR_MSFTX_...
拡張機能は開発者デバイス専用であり、実際の拡張機能が出荷されると削除されます。 これらを試用する場合は、開発者デバイスでプレビュー機能を有効にすることができます。 - クロスベンダー
EXT
拡張機能: 複数の企業が定義および実装するクロスベンダー拡張機能。 関心のある企業のグループは、いつでも EXT 拡張機能を導入できます。 - 公式
KHR
の拡張機能: コア仕様のリリースの一部として承認された公式の Khronos 拡張機能。 KHR 拡張機能は、コア仕様自体と同じライセンスの対象になります。
Windows Mixed Reality OpenXR Runtime では、一連の MSFT
および EXT
拡張機能がサポートされています。これらにより、完全な HoloLens 2 機能セットが OpenXR アプリケーションに提供されます。
これらの拡張機能の一部はベンダー固有の MSFT
拡張機能として開始される場合がありますが、Microsoft およびその他の OpenXR ランタイム ベンダーは共同で、これらの機能領域の多くについて、クロスベンダーの EXT
または KHR
拡張機能を設計しています。 クロスベンダー拡張機能を使用すると、コア仕様と同様に、ランタイム ベンダー間でこれらの機能に対して記述するコードを移植可能にします。
OpenXR が使用可能なケース
"Minecraft の新しい RenderDragon エンジンでは、OpenXR を使用してデスクトップ VR サポートが構築されています。"
Microsoft は Unity および Epic Games と共同で、HoloLens 2 だけでなく、HP の新しい Reverb G2 ヘッドセットを含む PC VR の全範囲にわたって Mixed Reality の未来が開かれるように取り組んでいます。 OpenXR により、現在出荷されている主要なタイトル (Minecraft や Microsoft Flight Simulator など) に対するクロスベンダー VR サポートが提供されます。 HoloLens (第 1 世代) の開発の詳細については、リリース ノートを参照してください。
Unity、Unreal Engine、または独自のエンジンで OpenXR の使用を開始する方法については、以下を参照してください。
Unity での OpenXR
HoloLens 2 および Windows Mixed Reality 開発に対する Microsoft の現在の推奨される Unity 構成は、Mixed Reality OpenXR プラグイン Unity 2020.3 LTS です。 このプラグインには、手/視線追跡、空間アンカー、HP リバーブ G2 コントローラーなど、HoloLens 2 と Windows Mixed Reality ヘッドセットの機能を強化する OpenXR 拡張機能のサポートが含まれています。 MRTK-Unity では MRTK 2.7 以降で OpenXR をサポートしています。 Unity 2020 と OpenXR の使用を開始する方法の詳細については、「Unity のバージョンと XR プラグインの選択」を参照してください。
HoloLens (第 1 世代) 用に開発している場合は、レガシ WinRT API バックエンドで引き続き Unity 2019.4 LTS を使用する必要があります。 Unity 2019 アプリで新しい HP Reverb G2 コントローラーをターゲットとしている場合は、HP Reverb G2 入力に関するドキュメントを参照してください。
Unity 2021.3 LTS 以降では、HoloLens 2 と Windows Mixed Reality ヘッドセットをターゲットにするための唯一のサポートされている Unity バックエンドが OpenXR です。
Unreal Engine での OpenXR
Unreal Engine 4.23 は、OpenXR 1.0 のプレビュー サポートを出荷するためにリリースされた最初の主要なゲーム エンジンでした。 Unreal Engine 4.26 では、Unreal Engine の組み込みの OpenXR サポートを通じて、HoloLens 2、Windows Mixed Reality、およびその他のデスクトップ VR ヘッドセットのサポートを利用できるようになりました。 Unreal Engine 4.26 では、 Microsoft の OpenXR 拡張機能プラグインもサポート。 これにより、手操作と HP リバーブ G2 コントローラーのサポートが可能になり、HoloLens 2 と Windows Mixed Reality ヘッドセットの フル機能セットが点灯します。 Unreal Engine 4.26 は現在、Epic Games Launcher で、OpenXR プロジェクトをサポートする MRTK-Unreal 0.12 を使用して入手することができます。
ネイティブ開発用の OpenXR
HoloLens 2 で OpenXR を使用するか、デスクトップで Windows Mixed Reality イマーシブ VR ヘッドセットを使用して開発できます。 ヘッドセットにアクセスできない場合は、代わりに HoloLens 2 エミュレーターまたは Windows Mixed Reality シミュレーターを使用できます。
HoloLens 2 または Windows Mixed Reality VR ヘッドセット用の OpenXR アプリケーションの開発を開始するには、OpenXR 開発の開始方法に関するページを参照してください。
OpenXR API のすべての主要なコンポーネントに関するツアーと、現在 OpenXR を使用する実際のアプリケーションの例については、次の 60 分間のチュートリアル ビデオをご覧ください。