Compila con extensiones OpenXR compatibles

Android XR admite OpenXR a través de la especificación de OpenXR 1.1 y una larga lista de extensiones de proveedores externos. El uso de estas extensiones te ofrece esa experiencia familiar cuando desarrollas para XR. Algunas de estas capacidades requieren permisos de tiempo de ejecución de Android. Si deseas compilar directamente en las APIs de OpenXR, puedes encontrar los archivos de encabezado necesarios en este repositorio.

Extensiones de proveedores de Android XR

Nombre de la extensión

Descripción

XR_ANDROID_composition_layer_passthrough_mesh

Permite que la app proyecte texturas de transferencia en geometría arbitraria a través de una capa de composición adicional. Esta extensión requiere android.permission.SCENE_UNDERSTANDING_COARSE.

XR_ANDROID_depth_texture

Expone la profundidad sin procesar y suavizada para la oclusión, las pruebas de impacto y otras tareas específicas que utilizan una geometría de la escena precisa, como la detección de rostros falsificados. Proporciona una textura de profundidad de baja resolución y la confianza de una escena a partir de las poses actuales de la cámara o los ojos. Esta extensión requiere android.permission.SCENE_UNDERSTANDING_FINE.

XR_ANDROID_device_anchor_persistence

Permite que la aplicación conserve, recupere y deje de conservar anclajes en el dispositivo actual, en todas las aplicaciones y sesiones del dispositivo. Esta extensión requiere android.permission.SCENE_UNDERSTANDING_COARSE.

XR_ANDROID_eye_tracking

Permite que la aplicación obtenga la posición y la orientación de los ojos del usuario, lo que está diseñado para que la representación de la postura y el estado de los ojos de los avatares sea más realista. No uses esta extensión para otros fines de seguimiento ocular. Para la interacción, se debe usar XR_EXT_eye_gaze_interaction en su lugar. Esta extensión requiere android.permission.EYE_TRACKING_COARSE o android.permission.EYE_TRACKING_FINE.

XR_ANDROID_face_tracking

Permite que la aplicación obtenga pesos de formas de combinación y renderice expresiones faciales en experiencias de realidad extendida. Esta extensión requiere android.permission.FACE_TRACKING.

XR_ANDROID_hand_mesh

Habilita las entradas de monitoreo de manos representadas como una malla de mano dinámica. Esta extensión tiene como objetivo proporcionar búferes de vértices y de índices para la malla de una representación personalizada de las manos del usuario. Para hacer un seguimiento de las articulaciones de la mano, se puede usar XR_EXT_hand_tracking y, para las interacciones, se puede usar XR_EXT_hand_interaction. Esta extensión requiere android.permission.HAND_TRACKING.

XR_ANDROID_light_estimation

Estima la iluminación ambiental (incluidos los armónicos esféricos) del entorno actual de un usuario. Esta extensión permite que la aplicación solicite datos que representan la iluminación del entorno del mundo real alrededor del visor. Esta información se puede usar cuando se renderizan objetos virtuales para iluminarlos en las mismas condiciones que la escena en la que se colocan. Esta extensión requiere android.permission.SCENE_UNDERSTANDING_COARSE.

XR_ANDROID_mouse_interaction

Esta extensión presenta un nuevo perfil de interacción diseñado específicamente para que los dispositivos de mouse ingresen datos a través del sistema de acciones de OpenXR. Permite usar poses de acción comunes para los perfiles de mouse del usuario, incluidos los dispositivos de mouse y los dispositivos de panel táctil. Está diseñado para interactuar con objetos a través de un puntero del mouse en el espacio 3D. Por ejemplo, usar un puntero láser virtual para apuntar a un botón virtual en la pared es una interacción adecuada para la postura de "apuntar".

XR_ANDROID_passthrough_camera_state

Proporciona estados habilitados, de inicialización o inhabilitados para la cámara de transferencia.

XR_ANDROID_performance_metrics

Esta extensión proporciona APIs para enumerar y consultar varios contadores de métricas de rendimiento del dispositivo XR, el compositor y la aplicación XR actuales.

XR_ANDROID_raycast

Esta extensión permite que la aplicación realice raycasts en objetos rastreables del entorno. Esta extensión requiere android.permission.SCENE_UNDERSTANDING_COARSE.

XR_ANDROID_scene_meshing

Permite que la aplicación obtenga una malla 3D semántica del entorno del mundo real en tiempo real. Esta extensión requiere android.permission.SCENE_UNDERSTANDING_FINE.

XR_ANDROID_trackables

Esta extensión permite que la aplicación acceda a elementos rastreables, como aviones, del entorno físico y cree anclajes unidos a un elemento rastreable. Esta extensión requiere android.permission.SCENE_UNDERSTANDING_COARSE.

XR_ANDROID_trackables_object

Proporciona compatibilidad para hacer un seguimiento de objetos físicos, como el teclado y el mouse, en una escena. Esta extensión requiere android.permission.SCENE_UNDERSTANDING_COARSE.

XR_ANDROID_unbounded_reference_space

Proporciona un espacio de referencia no delimitado que se puede usar para mejorar la comprensión de la escena con el tiempo. Este espacio de referencia permite que el usuario se mueva libremente por un entorno complejo, a menudo a muchos metros de donde comenzó, y siempre optimiza la estabilidad del sistema de coordenadas cerca del usuario.

Otras extensiones compatibles

También se admiten las siguientes extensiones adicionales. La información se encuentra en sitios externos.


OpenXR™ y el logotipo de OpenXR son marcas comerciales propiedad de The Khronos Group Inc. y están registradas como marcas comerciales en China, la Unión Europea, Japón y el Reino Unido.