ARCore pour Jetpack XR offre de puissantes fonctionnalités de perception qui permettent à votre application de comprendre le monde réel grâce à diverses API. Certaines de ces API vous aident à améliorer les expériences immersives pour des appareils tels que les casques XR et les lunettes XR filaires, d'autres vous aident à améliorer les expériences augmentées pour des appareils tels que les lunettes IA, et d'autres encore vous aident à améliorer les expériences dans l'application pour tous les types d'appareils Android XR.
Par exemple, vous pouvez utiliser ARCore pour Jetpack XR afin de récupérer des données planaires, d'ancrer du contenu à un emplacement fixe dans l'espace ou d'utiliser une pose géospatiale pour ancrer du contenu à un emplacement réel.
Ajouter des dépendances de bibliothèque
Avant de commencer à utiliser les fonctionnalités de perception dans votre application XR, ajoutez les dépendances nécessaires, en fonction du type d'expérience que vous améliorez avec la RA.
Accéder à une session
Les fonctionnalités de perception d'ARCore pour Jetpack XR s'appuient sur une Session, qui utilise l'environnement d'exécution Jetpack XR.
La manière dont votre application doit accéder à une session dépend des types d'expériences dans l'application que vous améliorez avec des fonctionnalités de perception :
- Si votre application améliore les expériences immersives avec une UI spatiale à l'aide de Jetpack Compose pour XR, accédez à une session depuis Jetpack Compose pour XR.
- Dans tous les autres cas, vous pouvez créer une session à l'aide de l'environnement d'exécution Jetpack XR, comme décrit dans la section suivante de cette page.
Créer une session à l'aide de l'environnement d'exécution Jetpack XR
Pour créer une session, transmettez un Context à la méthode create(). Ce Context peut être un Activity sur des appareils XR immersifs ou des appareils mobiles, ou un contexte projeté sur des lunettes connectées.
La création d'une session ARCore peut être une tâche coûteuse et doit être traitée en arrière-plan, comme illustré dans l'exemple suivant :
lifecycleScope.launch { when (val result = Session.create(context)) { is SessionCreateSuccess -> { val xrSession = result.session // ... } else -> TODO(/* A different unhandled exception was thrown. */) } }
La fonction create() peut utiliser un paramètre LifecycleOwner facultatif, qui permet de gérer le cycle de vie de la session par un autre LifecycleOwner. Le cycle de vie de LifecycleOwner doit commencer et se terminer dans le champ d'application du contexte fourni. Sinon, Session peut être sujet à des fuites.
Configurer une session
Certaines fonctionnalités peuvent être désactivées par défaut et doivent être configurées pour fonctionner. Pour configurer une session, utilisez configure() et spécifiez les options de configuration dont votre Session a besoin. Pour en savoir plus sur la configuration requise pour les différentes fonctionnalités de RA, consultez les pages correspondantes pour chaque fonctionnalité de RA.
Étapes suivantes
Une fois que votre application dispose d'une session, découvrez comment l'utiliser pour améliorer l'expérience dans l'application sur différents appareils XR :
- Détecter des plans avec ARCore pour Jetpack XR
- Créer des ancres avec ARCore pour Jetpack XR
- Utiliser les mains avec ARCore pour Jetpack XR
- Intégrer le suivi du visage dans votre application avec ARCore pour Jetpack XR
- Récupérer des informations de profondeur dans votre application avec ARCore pour Jetpack XR
- Suivre la pose d'un appareil à l'aide d'ARCore pour Jetpack XR