OpenXROpenXR

OpenXR logo

Опенкср — это общедоступный Стандарт API из кхронос, предоставляющий модули с собственным доступом к диапазону устройств в разных спектрах смешанной реальности.OpenXR is an open royalty-free API standard from Khronos, providing engines with native access to a range of devices across the mixed reality spectrum.

Вы можете разрабатывать приложения, используя OpenXR с HoloLens 2 или иммерсивную гарнитуру 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.

Зачем Опенкср?Why OpenXR?

С помощью Опенкср можно создавать модули, предназначенные для таких устройств, как HoloLens 2, и впечатляющие устройства, такие как гарнитуры Windows Mixed Reality для настольных ПК.With OpenXR, you can build engines that target both holographic devices, like HoloLens 2, and immersive devices, like Windows Mixed Reality headsets for desktop PCs. Опенкср позволяет написать код, который затем будет переносимым на широком диапазоне аппаратных платформ.OpenXR lets you write code once that's then portable across a wide range of hardware platforms.

API Опенкср использует загрузчик для подключения приложения непосредственно к собственной поддержке платформы вашей гарнитуры.The OpenXR API uses a loader to connect your application directly to your headset's native platform support. Конечные пользователи получают максимальную производительность и минимальную задержку независимо от того, используете ли они Windows Mixed Reality или другие гарнитуры.End users get maximum performance and minimum latency, whether they're using a Windows Mixed Reality or any other headset.

Что такое OpenXR?What is OpenXR?

API Опенкср предоставляет основные функции прогнозирования, работы с кадрами и пространственного ввода. вам потребуется создать подсистему, которая может ориентироваться на как holographic, так и впечатляющие устройства.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 and immersive devices.

Чтобы узнать об API Опенкср, ознакомьтесь со спецификациейопенкср 1,0, справочником по APIи кратким справочником.To learn about the OpenXR API, check out the OpenXR 1.0 specification, API reference, and quick reference guide. Дополнительные сведения см. на странице Кхронос опенкср.For more information, see the Khronos OpenXR page.

Чтобы ориентироваться на полный набор функций HoloLens 2, вы также будете использовать расширения Опенкср, относящиеся к поставщику и поставщику, которые предоставляют дополнительные функции за пределами ядра Опенкср 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. Дополнительные сведения см. в разделе "планы " ниже на расширениях, которые появятся позже в этом году.For more information, see the Roadmap section below on the extensions coming later this year.

Опенкср не является механизмом смешанной реальности.OpenXR isn't itself a mixed reality engine. Вместо этого Опенкср позволяет использовать такие модули, как Unity и Нереал, для написания переносимого кода, который затем может получить доступ к функциям собственной платформы в 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, whatever vendor built that platform.

Схема действийRoadmap

Спецификация Опенкср определяет механизм расширения, позволяющий разработчикам среды выполнения предоставлять дополнительные функциональные возможности за пределами основных функций , определенных в базовой спецификации опенкср 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.

Существует три вида расширений Опенкср:There are three kinds of OpenXR extensions:

  • Расширения поставщика (например, MSFT ): включает инновации для каждого поставщика в аппаратных или программных функциях.Vendor extensions (for example, 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 (for example, 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. Группы заинтересованных компаний могут в любое время внедрять расширения EXT.Groups of interested companies can introduce EXT extensions at any time.
  • Официальные KHR расширения: официальные расширения кхронос ратифицирован в рамках основной версии спецификации.Official KHR extensions: Official Khronos extensions ratified as part of a core spec release. Расширения КХР охватываются той же лицензией, что и Основная спецификация.KHR extensions are covered by the same license as the core spec itself.

По состоянию на июль 2020 среда выполнения Windows Mixed Reality поддерживает набор MSFT EXT расширений и, которые переносят полный набор функций HoloLens 2 в приложения опенкср: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 Доступность расширенияExtension availability
Системы + сеансыSystems + sessions Базовая спецификация Опенкср 1,0:OpenXR 1.0 core spec:
XrInstance, XrSystemId, XrSessionXrInstance, XrSystemId, XrSession
Справочные пространства (Просмотр, локальный, этап)Reference spaces (view, local, stage) Базовая спецификация Опенкср 1,0:OpenXR 1.0 core spec:
XrSpace
Просмотр конфигураций (моно, стерео)View configurations (mono, stereo) Базовая спецификация Опенкср 1,0:OpenXR 1.0 core spec:
XrView...
Цепочек переключений + время кадровSwapchains + frame timing Базовая спецификация Опенкср 1,0:OpenXR 1.0 core spec:
XrSwapchain... + xrWaitFrame
Слои композицииComposition layers
(проекция, четыре)(projection, quad)
Базовая спецификация Опенкср 1,0:OpenXR 1.0 core spec:
XrCompositionLayer... + xrEndFrame
Входные и хаптиксInput and haptics Базовая спецификация Опенкср 1,0:OpenXR 1.0 core spec:
XrAction...
Интеграция Direct3D 11Direct3D 11 integration KHRВыпущено официальное расширение:Official KHR extension released:
XR_KHR_D3D11_enable
Интеграция Direct3D 12Direct3D 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 2HoloLens 2 only

MSFT выпущенное расширение:MSFT extension released:
XR_MSFT_hand_interaction
Сетка руки артикулатион +Hand articulation + hand mesh

Только HoloLens 2HoloLens 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 2HoloLens 2 only

EXT выпущенное расширение:EXT extension released:
XR_EXT_eye_gaze_interaction
Взаимодействие с другими пакетами SDK для HoloLensInterop with other HoloLens SDKs
(например, QR)(for example, QR)

Только HoloLens 2HoloLens 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

Запись смешанной реальности
(третья Визуализация с камеры PV)
Mixed Reality Capture
(third render from PV camera)

Только HoloLens 2HoloLens 2 only

MSFT расширения, выпущенные в среде выполнения 102:MSFT extensions released in runtime 102:
XR_MSFT_secondary_view_configuration
XR_MSFT_first_person_observer
Взаимодействие с API CoreWindow UWPInterop with UWP CoreWindow API
(например, для клавиатуры или мыши)(for example, for keyboard/mouse)
MSFT расширение, выпущенное в среде выполнения 103:MSFT extension released in runtime 103:
XR_MSFT_holographic_window_attachment
Профили взаимодействия контроллера движения (Samsung Одиссэй и HP REVERB 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 2HoloLens 2 only

В среде выполнения предварительной версии 102 или более поздней версии:In preview runtime 102 or later:
Использование XR_MSFT_spatial_graph_bridge с сцену общие сведения о пакете SDKUse 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 , корпорация Майкрософт и другие поставщики среды выполнения опенкср работают вместе для проектирования кросс-поставщиков 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. Расширения для разных поставщиков заставляют код, который вы пишете для этих функций, переносимыми между поставщиками среды выполнения, как и Основная спецификация.Cross-vendor extensions will make the code you write for those features portable across runtime vendors, as with the core specification.

Начало работы с OpenXRGetting started with OpenXR

Снимок экрана Minecraft, который пользователь людьми на гарнитуру смешанной реальности

Новая подсистема Рендердрагон Minecraft создает свою настольную поддержку версий VR с помощью ОпенксрMinecraft's new RenderDragon engine is building its desktop VR support using OpenXR

Корпорация Майкрософт приработала к играм Unity и в рабочей ситуации, чтобы убедиться в том, что будущее смешанной реальности открыта, а не только для HoloLens 2, но в полной мере в мире, включая Новый переглаголы G2.Microsoft has been working with Unity and Epic Games to ensure the future of mixed reality is open, not just for HoloLens 2, but across the full breadth of PC VR, including HP’s new Reverb G2 headset. Дополнительные сведения о разработке для HoloLens (1-го поколения) см. в заметках о выпуске.For more information on developing for HoloLens (1st gen), see the release notes.

Чтобы узнать, как можно приступить к работе с Опенкср в Unity, нереальном модулем или собственной подсистемой, читайте здесь!To learn how you can get started with OpenXR in Unity, Unreal Engine or your own engine, read on!

Опенкср в UnityOpenXR in Unity

Сегодня поддерживаемый путь разработки Unity для гарнитур 2, HoloLens (1 Gen) и Windows Mixed Reality — Unity 2019 LTS с существующей серверной частью API WinRT.Today, the supported Unity development path for HoloLens 2, HoloLens (1st gen), and Windows Mixed Reality headsets is Unity 2019 LTS with the existing WinRT API backend. Вы можете перейти к опенкср с помощью Unity. Если вы используете новый контроллер HP REVERB G2 в приложении Unity 2019, см. статью входные документы с помощью команды HP.You can jump into OpenXR with Unity; If you’re targeting the new HP Reverb G2 controller in a Unity 2019 app, see our HP Reverb G2 input docs.

Начиная с Unity 2020 LTS, Unity будет поставлять серверную часть опенкср , которая поддерживает гарнитуры HoloLens 2 и Windows Mixed Reality.Starting with Unity 2020 LTS, Unity will ship an OpenXR backend that supports HoloLens 2 and Windows Mixed Reality headsets. Сюда входит поддержка расширений Опенкср, которая включает все возможности гарнитуры HoloLens 2 и Windows Mixed Reality, в том числе отслеживание типа «рука/глаз», пространственные привязки и контроллеры HP с переглаголом G2.This includes support for the OpenXR extensions that light up the full capabilities of HoloLens 2 and Windows Mixed Reality headsets, including hand/eye tracking, spatial anchors and HP Reverb G2 controllers. MRTK-Unity поддержка Опенкср в настоящее время находится на стадии разработки в mrtk_development ветви и будет доступна вместе с предварительной версией пакета опенкср.MRTK-Unity support for OpenXR is currently under development in the mrtk_development branch and will be available alongside that OpenXR preview package.

Начиная с Unity 2021, опенкср будет стать единственной поддерживаемой серверной частью Unity, предназначенной для конечных телефонов HoloLens 2 и Windows Mixed Reality.Starting in Unity 2021, OpenXR will then graduate to be the only supported Unity backend for targeting HoloLens 2 and Windows Mixed Reality headsets.

Опенкср в нереальном ядреOpenXR in Unreal Engine

Начиная с нереального механизма 4,23, полная поддержка гарнитуры HoloLens 2 и Windows Mixed Reality доступна через подключаемый модуль Windows Mixed Reality (WinRT).As of Unreal Engine 4.23, full support for HoloLens 2 and Windows Mixed Reality headsets are available through the Windows Mixed Reality (WinRT) plugin.

Нереалный механизм 4,23 был также первым основным выпуском игр для предоставления предварительной версии поддержки Опенкср 1,0!Unreal Engine 4.23 was also the first major game engine release to ship preview support for OpenXR 1.0! Теперь в нереальном Подсистеме 4,26 поддержка HoloLens 2, Windows Mixed Reality и других головных телефонов настольных систем будет доступна через встроенный подключаемый модуль опенкср в нереальном подсистеме.Now in Unreal Engine 4.26, support for HoloLens 2, Windows Mixed Reality and other desktop VR headsets will be available through Unreal Engine’s built-in OpenXR plugin. Нереальному подсистеме 4,26 также поставляются с первым набором подключаемых модулей расширения Опенкср, что позволяет взаимодействовать с поддержкой взаимодействия и HP reverbы G2, что приводит к полному набору функций гарнитуры HoloLens 2 и Windows Mixed Reality.Unreal Engine 4.26 will also ship with its first set of OpenXR extension plugins enabling hand interaction and HP Reverb G2 controller support, lighting up the full feature set of HoloLens 2 and Windows Mixed Reality headsets. В предварительной версии средства запуска "игры для игр" выпущена нереалная подсистема 4,26, а официальная версия будет выпущена в этот год.Unreal Engine 4.26 is available in preview today on the Epic Games Launcher, with the official release coming later this year. MRTK-Unreal поддержка Опенкср будет доступна также вместе с этим выпуском.MRTK-Unreal support for OpenXR will be available alongside that release as well.

Опенкср для разработки машинного кодаOpenXR for native development

Вы можете разрабатывать приложения, используя OpenXR с HoloLens 2 или иммерсивную гарнитуру 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, см. статью как приступить к разработке опенкср.To start developing OpenXR applications for HoloLens 2 or immersive Windows Mixed Reality headsets, see how to get started with OpenXR development.

Для ознакомления со всеми основными компонентами API Опенкср и примерами реальных приложений, использующих Опенкср сегодня, ознакомьтесь с этим видео в 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