ARCore pour Jetpack XR
| Dernière mise à jour | Version stable | Version finale | Version bêta | Version alpha |
|---|---|---|---|---|
| 22 octobre 2025 | - | - | - | 1.0.0-alpha07 |
Déclarer des dépendances
Pour ajouter une dépendance sur ARCore pour Jetpack XR, vous devez ajouter le dépôt Maven de Google à votre projet. Pour en savoir plus, consultez la section Dépôt Maven de Google.
Ajoutez les dépendances correspondant aux artefacts dont vous avez besoin dans le fichier build.gradle de votre application ou de votre module :
Groovy
dependencies { implementation "androidx.xr.arcore:arcore:1.0.0-alpha07" // Optional dependencies for asynchronous conversions implementation "androidx.xr.arcore:arcore-guava:1.0.0-alpha07" implementation "androidx.xr.arcore:arcore-rxjava3:1.0.0-alpha07" }
Kotlin
dependencies { implementation("androidx.xr.arcore:arcore:1.0.0-alpha07") // Optional dependencies for asynchronous conversions implementation("androidx.xr.arcore:arcore-guava:1.0.0-alpha07") implementation("androidx.xr.arcore:arcore-rxjava3:1.0.0-alpha07") }
Pour en savoir plus sur les dépendances, consultez Ajouter des dépendances de compilation.
Commentaires
Vos commentaires nous aident à améliorer Jetpack. N'hésitez pas à nous contacter si vous découvrez de nouveaux problèmes ou si vous avez des idées pour améliorer cette bibliothèque. Veuillez consulter les problèmes existants de cette bibliothèque avant d'en signaler un nouveau. Vous pouvez ajouter votre vote à un problème existant en cliquant sur le bouton en forme d'étoile.
Pour en savoir plus, consultez la documentation sur l'outil Issue Tracker.
Version 1.0
Version 1.0.0-alpha07
22 octobre 2025
Publication d'androidx.xr.arcore:arcore-*:1.0.0-alpha07. La version 1.0.0-alpha07 contient ces commits.
Correction de bugs
:xr:arcore:arcore-openxrajouté en tant que dépendance d'implémentation à:xr:arcore:arcore(I47315, b/446999229)
Version 1.0.0-alpha06
24 septembre 2025
Publication d'androidx.xr.arcore:arcore-*:1.0.0-alpha06. La version 1.0.0-alpha06 contient ces commits.
Modifications apportées à l'API
- La compatibilité des tests pour
ARCorea migré vers le modulexr:arcore:arcore-testing. (I25469) - Ajout de
ArDeviceetRenderViewpointpour permettre aux applications de récupérer la pose et la configuration d'affichage de l'appareil à des fins de rendu. (Ib7e3f) - Renommez les énumérations
HandJointTypeavec le préfixeHAND_JOINT_TYPE_. (I3f7cd) HandJointTypea été déplacé dexr:runtime:runtimeversxr:arcore:arcore. (Iadb9c, b/409058039)Hand.Stateexpose désormais unjava.nio.FloatBufferavec les poses des articulations dans un format qui permet d'accéder facilement aux applications axées sur les performances. (I55e27)
Version 1.0.0-alpha05
30 juillet 2025
Publication d'androidx.xr.arcore:arcore:1.0.0-alpha05, androidx.xr.arcore:arcore-guava:1.0.0-alpha05 et androidx.xr.arcore:arcore-rxjava3:1.0.0-alpha05. La version 1.0.0-alpha05 contient ces commits.
Nouvelles fonctionnalités
- Ajoutez
getPrimaryHandSidepour que le développeur puisse obtenir les informations sur le côté droit (I270bd). - Ajouter l'API de vérification de la disponibilité du VPS géospatial (I58573)
- Ajout de l'API ARCore pour
checkVpsAvailability(Idbded) - Fonctions d'extension
stateFlowableajoutées à:xr:arcore:arcore-rxjava3pour être utilisées par les développeurs Java. (I083aa, b/427247794)
Modifications apportées à l'API
- Les valeurs de configuration
*Modeont été renommées pour refléter leur comportement. (I6d247, b/414648065) - L'artefact ARCore principal (xr:arcore:arcore) ne contiendra que des API asynchrones de style Kotlin. Les développeurs Java peuvent s'appuyer sur la bibliothèque
xr:arcore:arcore-rxjava3pour accéder aux API compatibles. (Ia525e, b/422794329) - L'artefact ARCore principal (
xr:scenecore:scenecore) ne contiendra que des API asynchrones de style Kotlin. Les développeurs Java peuvent s'appuyer sur la bibliothèquexr:arcore:arcore-guavapour accéder aux API compatibles. (Iffcb4, b/422773524) Anchor.persistAsync()ajouté àAnchorGuavapour être utilisé par les développeurs Java. (I4af1c, b/425984631)Earth.createAnchorOnSurfaceAsync(Session, Double, Double, Double, Quaternion, Surface)ajouté àEarthGuavapour être utilisé par les développeurs Java. (I66357, b/425992992)- Les développeurs Java utiliseront les fonctions d'extension pour
GltfModel.createAsyncdansGltfModel.kt. Les fonctions asynchrones deGltfModelseront supprimées. (I0af60) - Cette bibliothèque utilise désormais les annotations de nullité JSpecify, qui sont de type "type-use". Les développeurs Kotlin doivent utiliser l'argument de compilateur suivant pour garantir une utilisation correcte :
-Xjspecify-annotations=strict(il s'agit de la valeur par défaut à partir de la version 2.1.0 du compilateur Kotlin) (Ia8420, b/326456246). - Fonctions d'extension
subscribeAsFlowableajoutées à:xr:arcore:arcore-rxjava3pour être utilisées par les développeurs Java. (Id3e49, b/427277298)
Version 1.0.0-alpha04
7 mai 2025
Publication d'androidx.xr.arcore:arcore:1.0.0-alpha04. La version 1.0.0-alpha04 contient ces commits.
Modifications apportées à l'API
- Les projets publiés avec Kotlin 2.0 nécessitent KGP 2.0.0 ou version ultérieure pour être utilisés. (Idb6b5)
TrackingStateetHandJointTypeont été déplacés d'ARCore vers Runtime.Hand.State.isActive (boolean)a été remplacé parHand.State.trackingState (androidx.xr.runtime.TrackingState).Anchor.loadrenvoieAnchor.AnchorLoadInvalidUuidsi l'UUID n'est pas valide.
Version 1.0.0-alpha03
26 février 2025
Publication d'androidx.xr.arcore:arcore:1.0.0-alpha03 sans modification notable par rapport à la dernière version alpha. La version 1.0.0-alpha03 contient ces commits.
Version 1.0.0-alpha02
12 février 2025
Publication d'androidx.xr.arcore:arcore:1.0.0-alpha02. La version 1.0.0-alpha02 contient ces commits.
Nouvelles fonctionnalités
- Ajout de la compatibilité avec le suivi des mains. Utilisez
Hand.leftetHand.rightpour accéder aux informations de suivi. - Les API qui génèrent une ancre (
Anchor.create,Anchor.load,Plane.createAnchor) renvoient désormais toutesAnchorCreateResultet implémentent correctementAnchorCreateResourcesExhausted.
Corrections de bugs
Anchor.detachne provoque plus de plantage fatal en raison d'une condition de concurrence avec le thread de mise à jour de la session.Anchor.createest plus stable lorsqu'il est exécuté sur un émulateur.
Version 1.0.0-alpha01
12 décembre 2024
Publication d'androidx.xr.arcore:arcore-* 1.0.0-alpha01.
Fonctionnalités de la version initiale
Inspirée de la bibliothèque ARCore existante, la bibliothèque ARCore pour Jetpack XR permet de mélanger du contenu numérique avec le monde réel. Cette bibliothèque inclut le suivi du mouvement, les ancres persistantes, les tests de sélection et l'identification des plans avec étiquetage sémantique (par exemple, le sol, les murs et les tables). Consultez le guide du développeur pour en savoir plus sur l'utilisation d'ARCore pour Jetpack XR.
Session: ARCore pour Jetpack XR utilise le Jetpack XR Runtime en coulisses pour alimenter ses fonctionnalités. Vous utiliserez une session pour interagir avec la plupart des API ARCore pour Jetpack XR. Veuillez donc consulter sa documentation.Plane: utilisez les plans pour comprendre le monde qui vous entoure. Chaque plan possède unLabelqui le décrit sémantiquement. Vous pouvez utilisersubscribepour être averti des derniers plans détectés oustatepour être averti des modifications apportées à un plan spécifique.Anchor: lien entre un objet virtuel et un lieu réel. Les ancres peuvent être associées à un emplacement spécifique dans l'espace (à l'aide decreate) ou à unTrackable(à l'aide decreateAnchor).Les ancres peuvent être réutilisées d'une session à l'autre. Vous pouvez utiliser
persistpour les stocker,getPersistedAnchorUuidspour les énumérer etloadpour les récupérer. Assurez-vous deunpersistles clés une fois qu'elles ne sont plus utilisées.Les ancres sont interopérables entre ARCore pour Jetpack XR et Jetpack SceneCore. Vous pouvez créer un
AnchorEntityà l'aide d'une ancre. Si vous disposez déjà d'une AnchorEntity, vous pouvez utilisergetAnchorpour récupérer son ancre de sauvegarde.Offrez des interactions utilisateur naturelles à l'aide de
hitTest. Un hitTest utilise unRaypour déterminer les contenus qu'il croise et créer unAnchorà partir de cet emplacement. Envisagez d'effectuer un hitTest à partir d'unInputEvent.
Problèmes connus
Il peut s'écouler un certain temps entre l'appel de
unpersistet la suppression de son UUID des résultats renvoyés pargetPersistedAnchorUuids.createne valide pas que le système dispose de suffisamment de ressources pour renvoyer de nouvelles ancres. La création d'un nombre excessif d'ancres peut entraîner un plantage.Il n'est actuellement pas possible de rendre persistant un ancrage qui l'a déjà été, puis a été supprimé.
L'utilisation dans l'émulateur est acceptée, mais le comportement peut ne pas être aussi stable que lors de l'exécution sur un appareil réel. En particulier, les appels à
createpeuvent échouer avec une erreur de code natif et mettre fin immédiatement à l'activité.Dans certains cas, une
RuntimeExceptionpeut être générée par erreur lors de l'appel depersistavec le message "L'ancrage n'a pas été conservé". Dans ce cas, la fonction réussit quand même et l'ancrage est conservé. Nous vous recommandons d'encapsuler l'appel àpersistavec un bloctrypour contourner le problème.