OpenXROpenXR

OpenXR logo

OpenXR は、 Khronos のオープンなロイヤリティフリー API 標準です。これにより、さまざまなベンダーの幅広いデバイスにエンジンがネイティブでアクセスできるようになり、 混合現実の範囲を超えています。OpenXR is an open royalty-free API standard from Khronos that provides engines native access to a wide range of devices from many vendors that span across the mixed reality spectrum.

HoloLens 2 で OpenXR を使用するか、デスクトップで Windows Mixed Reality イマーシブ ヘッドセットを使用して開発できます。You can develop using OpenXR on a HoloLens 2 or Windows Mixed Reality immersive headset on the desktop. ヘッドセットへのアクセス権がない場合は、代わりに HoloLens 2 エミュレーターまたは Windows Mixed Reality シミュレーターを使用できます。If you don't have access to a headset, you can use the HoloLens 2 Emulator or the Windows Mixed Reality Simulator instead.

OpenXR の理由Why OpenXR?

OpenXR を使用すると、holographic デバイス (HoloLens 2 など) の両方を対象とするエンジンを構築して、実際の世界にデジタルコンテンツを配置することができます。また、デスクトップ Pc 用の Windows Mixed Reality ヘッドセットと同様に、物理的な世界を隠し、デジタル体験で置き換えることもできます。With OpenXR, you can build engines that target both holographic devices (like HoloLens 2) that place digital content in the real world as if it were really there, as well as immersive devices (like Windows Mixed Reality headsets for desktop PCs) that hide the physical world and replace it with a digital experience. OpenXR を使用すると、さまざまなハードウェアプラットフォームで移植可能なコードを一度記述できます。OpenXR lets you write code once that's then portable across a wide range of hardware platforms.

OpenXR API は、アプリケーションをヘッドセットのネイティブプラットフォームサポートに直接接続するローダーを使用します。The OpenXR API uses a loader that connects your application directly to your headset's native platform support. これにより、エンドユーザーは、Windows Mixed Reality ヘッドセットとその他のヘッドセットのどちらを使用しているかにかかわらず、最大のパフォーマンスと最小待機時間を実現できます。This offers your end users maximum performance and minimum latency, whether they're using a Windows Mixed Reality headset or any other headset.

OpenXR とはWhat is OpenXR?

OpenXR API は、コアの予測、フレームのタイミング、および空間入力の機能を提供します。これは、HoloLens 2 のような holographic デバイスと、Windows Mixed Reality ヘッドセットのようなイマーシブデバイスの両方を対象とするエンジンを構築するために必要です。The OpenXR API provides the core pose prediction, frame timing and spatial input functionality you'll need to build an engine that can target both holographic devices like HoloLens 2 and immersive devices like Windows Mixed Reality headsets.

OpenXR API の詳細については、OpenXR 1.0 仕様API リファレンス 、および クイックリファレンスガイドを参照してください。To learn about the OpenXR API, check out the OpenXR 1.0 specification, API reference and quick reference guide. 詳細については、 Khronos OpenXR のページを参照してください。For more information, see the Khronos OpenXR page.

HoloLens 2 の全機能セットを対象にするには、クロスベンダおよびベンダー固有の OpenXR 拡張機能を使用します。これにより、OpenXR 1.0 コア以外の追加機能が可能になります。これには、トレーラーによる追跡、視線追跡、空間マッピング、空間アンカーなどがあります。To target the full feature set of HoloLens 2, you'll also use cross-vendor and vendor-specific OpenXR extensions that enable additional features beyond the OpenXR 1.0 core, such as articulated hand tracking, eye tracking, spatial mapping and spatial anchors. 今年の後半に登場する拡張機能の詳細については、後の 「ロードマップ」セクション を参照してください。See the Roadmap section below for more information on the extensions coming later this year.

OpenXR は、それ自体が mixed reality エンジンではないことに注意してください。Note that OpenXR is not itself a mixed reality engine. 代わりに、OpenXR では、Unity や Unreal などのエンジンがポータブルコードを一度記述できるようになります。これにより、そのプラットフォームを構築したベンダーに関係なく、ユーザーの holographic またはイマーシブデバイスのネイティブプラットフォーム機能にアクセスできます。Instead, OpenXR enables engines like Unity and Unreal to write portable code once that can then access the native platform features of the user's holographic or immersive device, regardless of which vendor built that platform.

ロードマップRoadmap

OpenXR 仕様では、ランタイム実装者がBase OpenXR 1.0 仕様で定義されているコア機能以外の機能を公開できるようにする拡張機構を定義しています。The OpenXR specification defines an extension mechanism that enables runtime implementers to expose additional functionality beyond the core features defined in the base OpenXR 1.0 specification.

OpenXR 拡張機能には、次の3種類があります。There are three kinds of OpenXR extensions:

  • ベンダー拡張機能 (例 MSFT :): ハードウェアまたはソフトウェアの機能でベンダーごとのイノベーションを実現します。Vendor extensions (e.g. MSFT): Enables per-vendor innovation in hardware or software features. 任意のランタイムベンダは、いつでもベンダ拡張機能を導入および出荷できます。Any runtime vendor can introduce and ship a vendor extension at any time.
    • 試験的なベンダーの拡張機能 (例 MSFT_preview :): フィードバックを収集するためにプレビューされている試験的なベンダーの拡張機能。Experimental vendor extensions (e.g. MSFT_preview): Experimental vendor extensions being previewed to gather feedback. MSFT_preview 拡張機能は開発者向けデバイスのみを対象としており、実際の拡張機能が出荷されると削除されます。MSFT_preview extensions are for developer devices only and will be removed when the real extension ships. 試してみるには、 開発者デバイスでプレビュー拡張機能を有効にします。To experiment with them, you can enable preview extensions on your developer device.
  • クロスベンダ EXT 拡張機能: 複数の企業が定義および実装するクロスベンダーの拡張機能。Cross-vendor EXT extensions: Cross-vendor extensions that multiple companies define and implement. 関心のある企業のグループは、いつでも拡張機能を導入できます。Groups of interested companies can introduce EXT extensions at any time.
  • 公式の KHR 拡張機能: 公式の Khronos extensions 批准は、コア仕様リリースの一部として機能します。Official KHR extensions: Official Khronos extensions ratified as part of a core spec release. KHR 拡張機能は、コア仕様自体と同じライセンスによってカバーされます。KHR extensions are covered by the same license as the core spec itself.

2020年7月の時点で、Windows Mixed Reality OpenXR ランタイムは、一連のおよび拡張機能をサポートして MSFT おり、 EXT すべての HoloLens 2 機能を OpenXR アプリケーションに提供します。As of July 2020, the Windows Mixed Reality OpenXR Runtime supports a set of MSFT and EXT extensions that brings the full set of HoloLens 2 features to OpenXR applications:

Feature area (機能領域)Feature area 拡張機能の可用性Extension availability
システム + セッションSystems + sessions OpenXR 1.0 コア仕様:OpenXR 1.0 core spec:
XrInstance, XrSystemId, XrSessionXrInstance, XrSystemId, XrSession
参照スペース (view、local、stage)Reference spaces (view, local, stage) OpenXR 1.0 コア仕様:OpenXR 1.0 core spec:
XrSpace
構成の表示 (mono、ステレオ)View configurations (mono, stereo) OpenXR 1.0 コア仕様:OpenXR 1.0 core spec:
XrView...
スワップチェーン + フレームのタイミングSwapchains + frame timing OpenXR 1.0 コア仕様:OpenXR 1.0 core spec:
XrSwapchain... + xrWaitFrame
コンポジションレイヤーComposition layers
(プロジェクション、クワッド)(projection, quad)
OpenXR 1.0 コア仕様:OpenXR 1.0 core spec:
XrCompositionLayer... + xrEndFrame
Input および hapticsInput and haptics OpenXR 1.0 コア仕様:OpenXR 1.0 core spec:
XrAction...
Direct3D 11 の統合Direct3D 11 integration 正式な拡張機能がリリースされました KHR :Official KHR extension released:
XR_KHR_D3D11_enable
Direct3D 12 の統合Direct3D 12 integration 正式な拡張機能がリリースされました KHR :Official KHR extension released:
XR_KHR_D3D12_enable
無制限の参照スペース
(ワールドスケールエクスペリエンス)
Unbounded reference space
(world-scale experiences)
MSFT リリースされた拡張機能:MSFT extension released:
XR_MSFT_unbounded_reference_space
空間アンカーSpatial anchors MSFT リリースされた拡張機能:MSFT extension released:
XR_MSFT_spatial_anchor
ハンドの相互作用
(グリップ/aim、エアタップ、つかみ)
Hand interaction
(grip/aim pose, air-tap, grasp)

HoloLens 2 のみHoloLens 2 only

MSFT リリースされた拡張機能:MSFT extension released:
XR_MSFT_hand_interaction
手 articulation + 手メッシュHand articulation + hand mesh

HoloLens 2 のみHoloLens 2 only

EXT ランタイム102でリリースされた拡張機能:EXT extension released in runtime 102:
XR_EXT_hand_tracking

MSFT ランタイム102でリリースされた拡張機能:MSFT extension released in runtime 102:
XR_MSFT_hand_tracking_mesh
目の視線入力Eye gaze

HoloLens 2 のみHoloLens 2 only

EXT リリースされた拡張機能:EXT extension released:
XR_EXT_eye_gaze_interaction
他の HoloLens Sdk との相互運用Interop with other HoloLens SDKs
(例: QR)(e.g. QR)

HoloLens 2 のみHoloLens 2 only

MSFT ランタイム102でリリースされた拡張機能:MSFT extension released in runtime 102:
XR_MSFT_spatial_graph_bridge

MSFTプレビューランタイム 104の拡張機能:MSFT extension in preview runtime 104:
XR_MSFT_perception_anchor_interop_preview

Mixed Reality キャプチャ
(PV カメラからの3番目のレンダリング)
Mixed Reality Capture
(third render from PV camera)

HoloLens 2 のみHoloLens 2 only

MSFT ランタイム102でリリースされた拡張機能:MSFT extensions released in runtime 102:
XR_MSFT_secondary_view_configuration
XR_MSFT_first_person_observer
UWP CoreWindow API との相互運用Interop with UWP CoreWindow API
(例: キーボード/マウス)(e.g. for keyboard/mouse)
MSFT ランタイム103でリリースされた拡張機能:MSFT extension released in runtime 103:
XR_MSFT_holographic_window_attachment
モーションコントローラーの相互作用プロファイル (Samsung Odyssey および HP リバーブ G2)Motion controller interaction profiles (Samsung Odyssey and HP Reverb G2) MSFT ランタイム103でリリースされた拡張機能:MSFT extensions released in runtime 103:
XR_EXT_samsung_odyssey_controller
XR_EXT_hp_mixed_reality_controller
モーションコントローラーレンダリングモデルMotion controller render models MSFTプレビューランタイム 104の拡張機能:MSFT extension in preview runtime 104:
XR_MSFT_controller_model
シーンの理解 (平面、メッシュ)Scene understanding (planes, meshes)

HoloLens 2 のみHoloLens 2 only

Preview runtime 102以降:In preview runtime 102 or later:
XR_MSFT_spatial_graph_bridgeシーンでSDKを使用して使用するUse XR_MSFT_spatial_graph_bridge with Scene Understanding SDK

MSFT_preview 将来のプレビューランタイムの拡張機能 (計画済み)MSFT_preview extension in future preview runtime (planned)

その他のクロスベンダ拡張機能Other cross-vendor extensions

正式な拡張機能がリリースされました KHR :Official KHR extensions released:

XR_KHR_composition_layer_depth
XR_KHR_visibility_mask
XR_KHR_win32_convert_performance_counter_time

EXT リリースされた拡張機能:EXT extensions released:

XR_EXT_win32_appcontainer_compatible
XR_EXT_debug_utils

これらの拡張機能の一部はベンダー固有の拡張機能として開始される場合があり MSFT ますが、Microsoft およびその他の OpenXR runtime ベンダーは、 EXT KHR これらの機能領域の多くに対してクロスベンダーまたは拡張機能を設計するために連携しています。While some of these extensions may start out as vendor-specific MSFT extensions, Microsoft and other OpenXR runtime vendors are working together to design cross-vendor EXT or KHR extensions for many of these feature areas. これにより、コア仕様と同様に、これらの機能用に記述したコードをランタイムベンダー間で移植可能にすることができます。This will enable the code you write for those features to be portable across runtime vendors, just as with the core specification.

OpenXR で作業を始めるGet started with OpenXR

HoloLens 2 で OpenXR を使用するか、デスクトップで Windows Mixed Reality イマーシブ ヘッドセットを使用して開発できます。You can develop using OpenXR on a HoloLens 2 or Windows Mixed Reality immersive headset on the desktop. ヘッドセットへのアクセス権がない場合は、代わりに HoloLens 2 エミュレーターまたは Windows Mixed Reality シミュレーターを使用できます。If you don't have access to a headset, you can use the HoloLens 2 Emulator or the Windows Mixed Reality Simulator instead.

HoloLens 2 またはイマーシブ Windows Mixed Reality ヘッドセットの OpenXR アプリケーションの開発を開始するには、「 OpenXR development の使用を開始する方法」を参照してください。To start developing OpenXR applications for HoloLens 2 or immersive Windows Mixed Reality headsets, see how to get started with OpenXR development.

OpenXR API の主要なコンポーネントと、OpenXR を使用した実際のアプリケーションの例については、こちらの60分のチュートリアルビデオをご覧ください。For a tour through all the major components of the OpenXR API, along with examples of the real-world applications using OpenXR today, check out this 60-minute walkthrough video:

関連項目See also