OpenXR
OpenXR es un estándar de API abierto sin impuestos de Khronosque proporciona a los motores acceso nativo a una variedad de dispositivos en el espectro de realidad mixta.
Puede desarrollar mediante OpenXR en un HoloLens 2 o Windows Mixed Reality casco de realidad virtual inmersivo en el escritorio. Si no tiene acceso a un casco, puede usar el HoloLens 2 Emulator o el simulador de Windows Mixed Reality en su lugar.
¿Por qué OpenXR?
Con OpenXR, puede crear motores destinados a dispositivos holográficos, como HoloLens 2, y dispositivos vr inmersivos, como cascos Windows Mixed Reality para equipos de escritorio. OpenXR le permite escribir código una vez que se pueda portátil en una amplia gama de plataformas de hardware.
La API de OpenXR usa un cargador para conectar la aplicación directamente a la compatibilidad nativa de la plataforma de los cascos. Los usuarios finales obtienen el máximo rendimiento y la latencia mínima, tanto si usan un Windows Mixed Reality como cualquier otro casco.
¿Qué es OpenXR?
La API de OpenXR proporciona la predicción de posición principal, el tiempo de fotogramas y la funcionalidad de entrada espacial que necesitará para crear un motor que pueda tener como destino dispositivos holográficos y envolventes.
Para obtener información sobre la API de OpenXR, consulte la especificación de OpenXR 1.0, la referencia de APIy la guía de referencia rápida. Para obtener más información, vea la página de OpenXR de Khronos.
Para dirigirse al conjunto completo de características de HoloLens 2, también usará extensiones OpenXR específicas del proveedor y entre proveedores que habilitan características adicionales más allá del núcleo de OpenXR 1.0, como el seguimiento de manos articulados, el seguimiento de los ojos, la asignación espacial y los anclajes espaciales. Para obtener más información, consulte la sección Mapa de ruta a continuación sobre las extensiones que se publicarán más adelante este año.
OpenXR no es en sí mismo un motor de realidad mixta. En su lugar, OpenXR permite que motores como Unity y Unreal escriban código portátil una vez que puedan acceder a las características nativas de la plataforma del dispositivo holográfico o inmersivo del usuario, sea cual sea el proveedor que haya creado esa plataforma.
Plan de desarrollo
La especificación de OpenXR define un mecanismo de extensión que permite a los implementadores en tiempo de ejecución exponer funcionalidades adicionales más allá de las características principales definidas en la especificación base de OpenXR 1.0.
Hay tres tipos de extensiones de OpenXR:
- Extensiones de proveedor (por ejemplo, ): permite la innovación por proveedor en características de hardware o software. Cualquier proveedor en tiempo de ejecución puede introducir y enviar una extensión de proveedor en cualquier momento.
- Extensiones de proveedor experimentales (por ejemplo, ): las extensiones de proveedor experimentales se están visualizando para recopilar comentarios.
MSFT_previewLas extensiones son solo para dispositivos de desarrollador y se quitarán cuando se distribuye la extensión real. Para experimentar con ellas, puede habilitar las extensiones de versión preliminar en el dispositivo para desarrolladores.
- Extensiones de proveedor experimentales (por ejemplo, ): las extensiones de proveedor experimentales se están visualizando para recopilar comentarios.
- Extensiones entre proveedores: extensiones entre proveedores que varias empresas definen e implementan. Los grupos de empresas interesadas pueden introducir extensiones EXT en cualquier momento.
- Extensiones oficiales: extensiones oficiales de Khronos que se han publicado como parte de una versión de especificación básica. Las extensiones DEER están cubiertas por la misma licencia que la propia especificación principal.
El Windows Mixed Reality en tiempo de ejecución de OpenXR admite un conjunto de extensiones y que aporta el conjunto completo de características de HoloLens 2 a MSFTEXT las aplicaciones de OpenXR:
Aunque algunas de estas extensiones pueden empezar como extensiones específicas del proveedor, Microsoft y otros proveedores de tiempo de ejecución de OpenXR trabajan conjuntamente para diseñar extensiones o entre proveedores para muchas de estas áreas de MSFTEXTKHR características. Las extensiones entre proveedores harán que el código que escriba para esas características sea portátil entre proveedores en tiempo de ejecución, como con la especificación principal.
¿Dónde puede usar OpenXR?

Minecraft el nuevo motor Render Creative ha creado su compatibilidad de realidad virtual de escritorio con OpenXR.
Microsoft ha estado trabajando con Unity y Epic Games para asegurarse de que el futuro de la realidad mixta está abierto, no solo para HoloLens 2, sino en toda la gama de PC VR, incluido el nuevo casco Reverb G2 de HP. OpenXR potencia la compatibilidad de REALIDAD virtual entre proveedores para el envío de títulos principales hoy en día, como Minecraft y Simulador de vuelos de Microsoft. Para obtener más información sobre el desarrollo HoloLens (1.ª generación), vea las notas de la versión.
Para obtener información sobre cómo empezar a trabajar con OpenXR en Unity, Unreal Engine o su propio motor, siga leyendo.
OpenXR en Unity
La configuración de Unity recomendada actualmente de Microsoft para el desarrollo de HoloLens 2 y Windows Mixed Reality es Unity 2020.3 LTS con la versión Mixed Reality complemento OpenXR más reciente. Este complemento incluye compatibilidad con las extensiones openXR que encienden todas las funcionalidades de los cascos de HoloLens 2y Windows Mixed Reality, incluido el seguimiento de manos y ojos, anclajes espaciales y controladores HP Reverb G2. MRTK-Unity admite OpenXR a partir de MRTK 2.7. Para más información sobre cómo empezar a trabajar con Unity 2020 y OpenXR, consulte Elección de una versión de Unity y un complemento XR.
Si va a desarrollar para HoloLens (1.ª generación), deberá seguir usando Unity 2019.4 LTS con el back-end de api winRT heredado. Si tiene como destino el nuevo controlador HP Reverb G2 en una aplicación de Unity 2019, consulte la documentación de entrada de HP Reverb G2.
A partir de Unity 2021.2,OpenXR será el único back-end de Unity compatible para el destino HoloLens 2 y Windows Mixed Reality cascos.
OpenXR en Unreal Engine
Unreal Engine 4.23 fue la primera versión principal del motor de juegos en enviar compatibilidad con la versión preliminar de OpenXR 1.0. Ahora en Unreal Engine 4.26,la compatibilidad con HoloLens 2, Windows Mixed Reality y otros cascos vr de escritorio está disponible a través de la compatibilidad integrada de OpenXR de Unreal Engine. Unreal Engine 4.26 también admite el complemento de extensión OpenXRde Microsoft, lo que permite la interacción con las manos y la compatibilidad con el controlador HP Reverb G2, lo que habilita el conjunto completo de características de HoloLens 2 y Windows Mixed Reality cascos. Unreal Engine 4.26 está disponible actualmente en Epic Games Selector, con MRTK-Unreal 0.12 compatible con proyectos de OpenXR.
OpenXR para el desarrollo nativo
Puede desarrollar mediante OpenXR en un HoloLens 2 o Windows Mixed Reality casco de realidad virtual envolvente en el escritorio. Si no tiene acceso a un casco, puede usar el HoloLens 2 Emulator o el simulador de Windows Mixed Reality en su lugar.
Para empezar a desarrollar aplicaciones OpenXR para cascos HoloLens 2 o Windows Mixed Reality VR, consulte cómo empezar a trabajar con el desarrollo de OpenXR.
Para un paseo por todos los componentes principales de la API de OpenXR, junto con ejemplos de las aplicaciones reales que usan OpenXR hoy en día, consulte este vídeo de tutorial de 60 minutos: