Avant de nous plonger dans ARCore, il est utile de comprendre quelques concepts fondamentaux. Ensemble, ces concepts illustrent comment ARCore permet de proposer des expériences qui peuvent donner l'impression que le contenu virtuel se repose sur des surfaces réelles ou s'associe à des lieux réels.
Suivi du mouvement
Lorsque votre téléphone se déplace à l'autre bout du monde, ARCore utilise un processus appelé localisation et mappage simultanés, ou SLAM, pour comprendre sa position par rapport au monde qui l'entoure. ARCore détecte les caractéristiques visuellement distinctes dans l'image capturée de la caméra, appelées points de caractéristiques, et les utilise pour calculer son changement de position. Les informations visuelles sont combinées aux mesures inertielles de l'IMU de l'appareil pour estimer la pose (position et orientation) de la caméra par rapport au monde au fil du temps.
En alignant la pose de la caméra virtuelle qui affiche votre contenu 3D avec celle de la caméra de l'appareil fournie par ARCore, les développeurs peuvent afficher le contenu virtuel sous la bonne perspective. L'image virtuelle rendue peut être superposée à l'image obtenue à partir de l'appareil photo de l'appareil, ce qui donne l'impression que le contenu virtuel fait partie du monde réel.
Compréhension de l'environnement
ARCore améliore constamment sa compréhension de l'environnement réel en détectant les plans et les points de caractéristiques.
ARCore recherche des clusters de points de caractéristiques qui semblent se trouver sur des surfaces horizontales ou verticales communes, telles que des tables ou des murs, et met ces surfaces à la disposition de votre application sous la forme de plans géométriques. ARCore peut également déterminer la limite de chaque plan géométrique et mettre ces informations à la disposition de votre application. Vous pouvez utiliser ces informations pour placer des objets virtuels sur des surfaces planes.
Étant donné qu'ARCore utilise des points de caractéristiques pour détecter les surfaces planes, les surfaces planes sans texture, telles qu'une paroi blanche, risquent de ne pas être détectées correctement.
Compréhension approfondie
ARCore peut créer des cartes de profondeur, des images contenant des données sur la distance entre les surfaces à partir d'un point donné, à l'aide de l'appareil photo RVB principal d'un appareil compatible. Vous pouvez utiliser les informations fournies par une carte de profondeur pour proposer des expériences utilisateur immersives et réalistes, par exemple pour faire en sorte que des objets virtuels entrent en collision avec les surfaces observées, ou pour les faire apparaître devant ou derrière des objets du monde réel.
Estimation de la luminosité
ARCore peut détecter des informations sur la luminosité de son environnement et vous fournir l'intensité moyenne et la correction des couleurs d'une image de caméra donnée. Ces informations vous permettent d'éclairer vos objets virtuels dans les mêmes conditions que l'environnement qui les entoure, ce qui renforce le réalisme.
Interaction de l'utilisateur
ARCore utilise les tests de positionnement pour prendre une coordonnée (x,y) correspondant à l'écran du téléphone (fournie par un appui ou toute autre interaction que vous souhaitez que votre application prenne en charge) et projeter un rayon dans la vue du monde de la caméra, en renvoyant les plans géométriques ou les points de caractéristiques que le rayon croise, ainsi que la position de cette intersection dans l'espace mondial. Cela permet aux utilisateurs de sélectionner des objets dans l'environnement ou d'interagir avec eux.
Points orientés
Les points orientés vous permettent de placer des objets virtuels sur des surfaces inclinées. Lorsque vous effectuez un test de positionnement qui renvoie un point de caractéristiques, ARCore recherche les points à proximité et s'en sert pour estimer l'angle de la surface au point donné. ARCore renverra alors une posture qui tient compte de cet angle.
Étant donné qu'ARCore utilise des groupes de points de caractéristiques pour détecter l'angle de la surface, les surfaces sans texture, telles qu'une paroi blanche, peuvent ne pas être détectées correctement.
Points d'ancrage et éléments traçables
Les postures peuvent changer à mesure qu'ARCore améliore sa compréhension de sa propre position et de son environnement. Lorsque vous souhaitez placer un objet virtuel, vous devez définir une ancre pour vous assurer qu'ARCore suit la position de l'objet dans le temps. Souvent, vous créez une ancre en fonction de la posture renvoyée par un test de positionnement, comme décrit dans la section Interaction avec l'utilisateur.
Étant donné que les positions peuvent changer, ARCore peut mettre à jour la position d'objets environnementaux tels que les plans géométriques et les points de caractéristiques au fil du temps. Les plans et les points sont un type spécial d'objets appelé traçable. Comme leur nom l'indique, ces objets sont suivis par ARCore au fil du temps. Vous pouvez ancrer des objets virtuels à des éléments traçables spécifiques pour vous assurer que la relation entre votre objet virtuel et les éléments traçables reste stable même lorsque l'appareil se déplace. Cela signifie que si vous placez une figurine Android virtuelle sur votre bureau, si ARCore ajuste ultérieurement la position du plan géométrique associé au bureau, la figurine Android apparaîtra toujours au-dessus de la table.
Pour en savoir plus, consultez Utiliser des ancrages.
Images augmentées
Augmented Images est une fonctionnalité qui vous permet de créer des applications de RA capables de réagir à des images 2D spécifiques, comme des emballages de produits ou des affiches de films. Les utilisateurs peuvent déclencher des expériences de RA en pointant l'appareil photo de leur téléphone vers des images spécifiques. Par exemple, ils peuvent diriger l'appareil photo de leur téléphone vers une affiche de film, et demander à un personnage de sortir et de jouer une scène.
ARCore suit également les images en mouvement, comme un panneau d'affichage sur le côté d'un bus en mouvement.
Les images peuvent être compilées hors connexion pour créer une base de données d'images, ou des images individuelles peuvent être ajoutées en temps réel à partir de l'appareil. Une fois les images enregistrées, ARCore détecte ces images et leurs limites, puis renvoie une posture correspondante.
Partage
L'API ARCore Cloud Anchor vous permet de créer des applications collaboratives ou multijoueurs pour les appareils Android et iOS.
Avec Cloud Anchors, un appareil envoie une ancre et des points de fonctionnalité à proximité vers le cloud pour l'hébergement. Ces ancres peuvent être partagées avec d'autres utilisateurs sur des appareils Android ou iOS du même environnement. Cela permet aux applications d'afficher les mêmes objets 3D associés à ces ancres, ce qui permet aux utilisateurs de bénéficier simultanément de la même expérience de RA.
En savoir plus
Commencez à mettre ces concepts en pratique en créant des expériences de RA sur la plate-forme de votre choix.