ARCore pour Jetpack XR
Dernière mise à jour | Version stable | Version finale | Version bêta | Version alpha |
---|---|---|---|---|
12 décembre 2024 | - | - | - | 1.0.0-alpha01 |
Déclarer des dépendances
Pour ajouter une dépendance à ARCore pour Jetpack XR, vous devez ajouter le dépôt Maven de Google à votre projet. Pour en savoir plus, consultez le 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-alpha01" }
Kotlin
dependencies { implementation("androidx.xr.arcore:arcore:1.0.0-alpha01") }
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-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 d'intégrer du contenu numérique au monde réel. Cette bibliothèque inclut le suivi des mouvements, les ancrages persistants, les tests de détection de collision et l'identification des plans avec un libellé sémantique (par exemple, sol, murs et dessus de table). Consultez le guide du développeur pour en savoir plus sur l'utilisation d'ARCore pour Jetpack XR.
Session
: ARCore pour Jetpack XR utilise Jetpack XR Runtime en interne 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
: utiliser des plans pour comprendre le monde qui vous entoure. Chaque plan est associé à unLabel
qui le décrit sémantiquement. Vous pouvez utilisersubscribe
pour être averti des derniers avions détectés oustate
pour être averti des modifications apportées à un avion spécifique.Anchor
: lien entre un objet virtuel et un emplacement réel. Les ancrages peuvent être associés à 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
persist
pour les stocker,getPersistedAnchorUuids
pour les énumérer etload
pour les récupérer. Assurez-vous de lesunpersist
une fois qu'elles ne sont plus utilisées.Les ancrages sont interopérables entre ARCore pour Jetpack XR et Jetpack SceneCore. Vous pouvez créer un
AnchorEntity
à l'aide d'une ancre ou, si vous disposez d'un AnchorEntity existant, vous pouvez utilisergetAnchor
pour récupérer son ancre de référence.Proposez des interactions naturelles avec l'utilisateur à l'aide de
hitTest
. Un hitTest utilise unRay
pour déterminer les contenus avec lesquels il intersecte et pour créer unAnchor
à partir de cet emplacement. Envisagez de réaliser un hitTest à partir d'unInputEvent
.
Problèmes connus
Il peut s'écouler un certain temps entre l'appel de
unpersist
et la suppression de son UUID des résultats renvoyés pargetPersistedAnchorUuids
.create
ne vérifie pas que le système dispose de suffisamment de ressources pour renvoyer de nouveaux ancrages. Créer un nombre excessif d'ancrages peut entraîner un plantage.Il n'est actuellement pas possible de persister une ancre qui était précédemment persistante et non persistante.
L'utilisation dans l'émulateur est prise en charge, mais le comportement peut ne pas être aussi stable que lors de l'exécution sur un appareil réel. En particulier, les appels à
create
peuvent échouer en raison d'une erreur de code natif et arrêter immédiatement l'activité.Dans certains cas, une
RuntimeException
peut être générée par erreur lors de l'appel depersist
avec le message "L'ancre n'a pas été conservée". Dans ce cas, la fonction aboutit toujours et l'ancre est conservée. Pour contourner le problème, nous vous recommandons d'encapsuler l'appel àpersist
dans un bloctry
.