Créer des applications avec des extensions OpenXR compatibles

Android XR est compatible avec OpenXR via la spécification OpenXR 1.1 et une longue liste d'extensions de fournisseurs tiers. Ces extensions vous offrent une expérience familière lorsque vous développez pour la XR. Certaines de ces fonctionnalités nécessitent des autorisations d'exécution Android. Si vous souhaitez créer directement des applications sur les API OpenXR, vous trouverez les fichiers d'en-tête requis dans ce dépôt.

Extensions de fournisseur Android XR

Nom de l'extension

Description

XR_ANDROID_composition_layer_passthrough_mesh

Permet à l'application de projeter des textures de vue traversante sur une géométrie arbitraire via une couche de composition supplémentaire. Cette extension nécessite android.permission.SCENE_UNDERSTANDING_COARSE.

XR_ANDROID_depth_texture

Expose la profondeur brute et lissée pour l'occlusion, les tests de positionnement et d'autres tâches spécifiques qui utilisent une géométrie de scène précise, comme la détection de faux visages. Fournit une texture de profondeur basse résolution et la confiance d'une scène à partir des poses actuelles de la caméra/des yeux. Cette extension nécessite android.permission.SCENE_UNDERSTANDING_FINE.

XR_ANDROID_device_anchor_persistence

Permet à l'application de conserver, de récupérer et de supprimer des ancres sur l'appareil actuel, dans les applications et les sessions de l'appareil. Cette extension nécessite android.permission.SCENE_UNDERSTANDING_COARSE.

XR_ANDROID_eye_tracking

Permet à l'application d'obtenir la position et l'orientation des yeux de l'utilisateur, ce qui est conçu pour rendre la représentation de la pose et de l'état des yeux des avatars plus réaliste. N'utilisez pas cette extension à d'autres fins de suivi oculaire. Pour l'interaction, utilisez plutôt XR_EXT_eye_gaze_interaction. Cette extension nécessite android.permission.EYE_TRACKING_COARSE ou android.permission.EYE_TRACKING_FINE.

XR_ANDROID_face_tracking

Permet à l'application d'obtenir les pondérations des formes de mélange et d'afficher les expressions faciales dans les expériences XR. Cette extension nécessite android.permission.FACE_TRACKING.

XR_ANDROID_hand_mesh

Active les entrées de suivi des mains représentées sous la forme d'un maillage dynamique des mains. Cette extension est destinée à fournir des tampons de vertex et d'index pour le maillage d'une représentation personnalisée des mains de l'utilisateur. Pour le suivi des articulations des mains, XR_EXT_hand_tracking doit être utilisé, et pour les interactions, XR_EXT_hand_interaction doit être utilisé. Cette extension nécessite android.permission.HAND_TRACKING.

XR_ANDROID_light_estimation

Estime la luminosité de l'environnement (y compris les harmoniques sphériques) de l'utilisateur. Cette extension permet à l'application de demander des données représentant l'éclairage de l'environnement réel autour du casque. Ces informations peuvent être utilisées lors du rendu d'objets virtuels pour les éclairer dans les mêmes conditions que la scène dans laquelle ils sont placés. Cette extension nécessite android.permission.SCENE_UNDERSTANDING_COARSE.

XR_ANDROID_mouse_interaction

Cette extension introduit un nouveau profil d'interaction spécialement conçu pour les souris afin de saisir des données via le système d'action OpenXR. Permet d'utiliser des poses d'action courantes pour les profils de souris utilisateur, y compris les souris et les pavés tactiles. Il est conçu pour interagir avec des objets à l'aide d'un pointeur de souris dans un espace 3D. Par exemple, l'utilisation d'un pointeur laser virtuel pour viser un bouton virtuel sur le mur est une interaction adaptée à la pose "viser".

XR_ANDROID_passthrough_camera_state

Fournit les états "activé", "en cours d'initialisation" ou "désactivé" pour la caméra de transmission.

XR_ANDROID_performance_metrics

Cette extension fournit des API pour énumérer et interroger divers compteurs de métriques de performances de l'appareil XR actuel, du compositeur et de l'application XR.

XR_ANDROID_raycast

Cette extension permet à l'application d'effectuer des raycasts sur les éléments détectables de l'environnement. Cette extension nécessite android.permission.SCENE_UNDERSTANDING_COARSE.

XR_ANDROID_scene_meshing

Permet à l'application d'obtenir un maillage 3D sémantique de l'environnement réel en temps réel. Cette extension nécessite android.permission.SCENE_UNDERSTANDING_FINE.

XR_ANDROID_trackables

Cette extension permet à l'application d'accéder aux éléments suivis tels que les avions de l'environnement physique et de créer des ancres associées à un élément suivi. Cette extension nécessite android.permission.SCENE_UNDERSTANDING_COARSE.

XR_ANDROID_trackables_object

Permet de suivre les objets physiques tels que le clavier et la souris dans une scène. Cette extension nécessite android.permission.SCENE_UNDERSTANDING_COARSE.

XR_ANDROID_unbounded_reference_space

Fournit un espace de référence illimité qui peut être utilisé pour mieux comprendre les scènes au fil du temps. Cet espace de référence permet au spectateur de se déplacer librement dans un environnement complexe, souvent à plusieurs mètres de son point de départ, tout en optimisant toujours la stabilité du système de coordonnées à proximité du spectateur.

Autres extensions acceptées

Les extensions supplémentaires suivantes sont également acceptées. Les informations se trouvent sur des sites externes.


OpenXR™ et le logo OpenXR sont des marques déposées appartenant à The Khronos Group Inc. et sont enregistrées en Chine, dans l'Union européenne, au Japon et au Royaume-Uni.