Améliorer les expériences d'application avec la perception à l'aide d'ARCore pour Jetpack XR

Appareils XR concernés
Ces conseils vous aideront à créer des expériences pour ces types d'appareils XR.
Casques XR
Lunettes XR filaires
Lunettes audio et
avec affichage

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 :

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 :