Développement

Prise en charge d’OpenXR pour les casques Meta Quest

Mis à jour: 23 jan 2025
OpenXR est une norme ouverte et exempte de redevance du groupe Khronos, pour le développement d’applications VR hautes performances fonctionnant sur plusieurs plateformes. OpenXR facilite le travail des développeurs d’applications VR en leur permettant de réutiliser du code sur plusieurs plateformes. Ils peuvent ainsi créer du code portable entre les appareils de différents fournisseurs. Pour en savoir plus sur OpenXR, consultez la page Web OpenXR Khronos.
Le SDK OpenXR Mobile comprend des ressources essentielles pour l’utilisation de l’API OpenXR en vue du développement natif d’applications VR pour Meta Quest et Meta Quest 2. Les casques Meta Quest participent au programme OpenXR 1.0 Adopters.
Téléchargez le SDK Oculus OpenXR Mobile disponible sur notre page de téléchargements.

Documentation pour les développeurs OpenXR

Important : commencez par découvrir les concepts de base d’OpenXR et lisez les rubriques connexes. Ces rubriques traitent des sujets suivants :
Vous pouvez également étudier la Spécification OpenXR 1.0 sur le site du groupe Khronos. Le site propose une documentation de référence sur l’API et un guide de référence PDF qui fournit une présentation détaillée de l’API.

Développement mobile OpenXR pour Meta Quest

En plus de la documentation proposée par le groupe Khronos, cette section fournit des informations nécessaires pour développer des applications OpenXR pour Meta Quest et Meta Quest 2.

Spécification du manifeste Android

Lorsque vous créez un projet OpenXR pour Meta Quest et Meta Quest 2, ajoutez le filtre d’intent d’activité suivant au fichier AndroidManifest.xml :
<intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="org.khronos.openxr.intent.category.IMMERSIVE_HMD" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter>

Loader OpenXR Android

Meta prend en charge le loader Khronos OpenXR Android. Aucun loader propriétaire n’est requis. Tous les exemples d’applications ont déjà été intégrés avec le loader Khronos OpenXR Android.
Restrictions à noter : Meta ne prend en charge que Khronos OpenXR Android Loader 1.0.34 et ses versions ultérieures. Les versions antérieures du loader feront planter votre application. * Cette prise en charge concerne les utilisateur·ices des versions 62 et ultérieures du système d’exploitation et les utilisateur·ices de Meta Quest 1. * Les applications utilisant le nouveau loader planteront sur les versions 62 et antérieures du système d’exploitation. * En raison de problèmes de compatibilité, si votre application utilise le loader Khronos OpenXR Android, les utilisateur·ices disposant d’un appareil autre que Meta Quest 1 et d’un système d’exploitation antérieur à la version 62 ne pourront pas voir votre mise à jour sur le Meta Store.
Pour ajouter le loader (Khronos) OpenXR Android standard à votre propre projet, ajoutez le code suivant au fichier build.gradle :
android{
  ...

  buildFeatures {
    prefab true
  }
}
et
dependencies {
  ...

  implementation 'org.khronos.openxr:openxr_loader_for_android:1.0.34'
}
Pour les autres plateformes, voir le fichier README officiel d’OpenXR-SDK.

Extension du loader KHR Android

Pour que le chargement se produise, le loader doit être initialisé avec des paramètres spécifiques à la plateforme. Ces paramètres sont spécifiés avec les extensions du loader KHR XR_KHR_loader_init et XR_KHR_loader_init_android qui ont été ajoutées à la spécification OpenXR 1.0.11. Les applications doivent tout d’abord obtenir le pointeur de la fonction xrInitializeLoaderKHR via xrGetInstanceProcAddress avec un pointeur d’instance null, puis appeler xrInitializeLoaderKHR avec la structure XrLoaderInitInfoAndroidKHR définie dans XR_KHR_loader_init_android.

Extension de création de l’instance KHR Android

Les applications doivent spécifier les paramètres spécifiques à la plateforme dans xrCreateInstance via l’extension XR_KHR_android_create_instance.

Prise en main du SDK OpenXR Mobile

Pour vous familiariser avec le développement OpenXR sur les casques Meta, vous pouvez suivre le tutoriel Créer et exécuter l’exemple d’application hello_xr. L’application hello_xr est un exemple simple d’application OpenXR multiplateforme disponible dans le dépôt GitHub OpenXR-SDK-Source du groupe Khronos à l’adresse https://github.com/KhronosGroup/OpenXR-SDK-Source/tree/master/src/tests/hello_xr.

Exemples

  • XrCompositor_NativeActivity : une scène simple utilisant la classe Android NativeActivity qui illustre l’utilisation des différents types de calques disponibles via OpenXR.
  • XrHandsFB : une présentation des trois extensions spécifiques de Meta pour les mains, qui permettent le rendu d’un maillage de mains skinné, l’utilisation de capsules de collision et l’utilisation d’un modèle d’interaction UI associant rayon projeté et pincement. Ces extensions mettent la prise en charge des mains dans OpenXR au même niveau que l’API VrApi pour les mains.
  • XrHandsAndControllers : un exemple simple montrant comment configurer le suivi simultané des mains et des manettes lorsque ces dernières sont tenues, de manière à créer une expérience d’interaction multimodale.
  • XrPassthrough : un exemple d’application montrant la fonctionnalité Caméra réelle de base. Fournit une entrée sur les manettes pour passer en revue différentes fonctionnalités et différents styles, comme la caméra réelle de base, les styles photo et animés, la caméra réelle masquée (sélective) et projetée (sur un maillage).
  • XrSpatialAnchor : un exemple d’application qui illustre les capacités de notre système d’ancrages spatiaux et donne un exemple de code pour gérer, maintenir et partager les ancrages spatiaux que vous pouvez utiliser dans votre propre projet.
  • XrColorSpaceFB : un exemple éducatif sur les espaces colorimétriques qui montre comment spécifier l’espace colorimétrique pour lequel une application est prévue avec XR_FB_color_space.
  • XrControllers : un exemple qui montre comment accéder à chacune des actions d’entrée de la manette Meta Quest Touch Pro via OpenXR. Il illustre l’utilisation des API Haptics avec les manettes Meta Quest Touch Pro.
  • XrDynamicObjects : illustre l’utilisation de l’API Dynamic Object Tracker, en démontrant le mode de suivi des claviers et leur affichage via la caméra réelle sur Meta Quest 3 et les versions ultérieures.
  • XrSpaceWarp : un exemple qui présente Application SpaceWarp, une fonctionnalité qui assure une amélioration progressive des fonctions en termes de performances et de latence.
  • XrBodyTrackingFB : un exemple qui montre la fonctionnalité de suivi du corps qui permet de dessiner les articulations du squelette sur votre corps, vos bras et vos mains, avec les images des coordonnées des articulations correspondantes superposées.
  • XrEyeTrackingSocialFB : une démonstration des fonctionnalités de suivi des yeux qui affiche les données de regard des deux yeux dans un contexte social.
  • XrFaceTrackingFB : un exemple d’application utilisant le suivi du visage, qui affiche le poids des blendshapes correspondantes déclenchées/modifiées lorsque vous bougez différentes parties de votre visage comme la bouche, les joues et les yeux, entre autres.
  • XrSceneModel : une application qui montre une expérience complexe offrant de riches interactions avec l’environnement de l’utilisateur·ice, comme le sol, les murs et les meubles.
  • XrVirtualKeyboard : un exemple qui montre comment utiliser le clavier virtuel. L’application contrôle le positionnement, l’interaction et le rendu du clavier.
  • XrMicrogestures : un exemple qui montre comment utiliser les micro-gestes. L’application montre quand l’utilisateur·ice a correctement effectué un micro-geste de balayage du pouce (gauche/droite/arrière/avant) ou un tapotement du pouce.

Ressources

Logo nav.
Français (France)
©2026 Meta