Des tests de positionnement placent des objets virtuels dans le monde réel

Guides spécifiques à la plate-forme

Android (Kotlin/Java)

NDK Android (C)

Unity (AR Foundation)

Le contenu de RA doit être correctement placé et dimensionné pour s'intégrer à une scène. Comme les objets réels, les objets virtuels plus éloignés doivent apparaître plus petits. Vous pouvez effectuer un test de sélection (ou un raycast dans AR Foundation pour Unity) pour déterminer le bon emplacement d'un objet 3D dans votre scène. Un placement correct garantit que le contenu de RA est affiché à la taille (apparente) appropriée.

Les tests de positionnement permettent de localiser les intersections entre une géométrie 3D du monde réel et un rayon virtuel composé d'une origine et d'une direction. Les rayons dont l'origine est la caméra de l'appareil sont les plus couramment utilisés, mais ARCore inclut une API permettant d'effectuer des tests de sélection avec un rayon arbitraire dans les coordonnées de l'espace du monde.

Imaginez qu'un rayon émane de la caméra de l'appareil d'un utilisateur et s'étend vers l'avant jusqu'à ce qu'il touche la géométrie 3D de la scène, comme un sol, un mur ou un objet. Une fois cette opération effectuée, vous recevez une liste de résultats de détection ou d'intersections avec la géométrie de la scène détectée. La liste est triée par distance par rapport à l'appareil, en commençant par l'intersection la plus proche. C'est important, car en général, vous ne pouvez pas voir les objets masqués derrière d'autres objets. La plupart du temps, le premier résultat est donc le plus important.

Contenu d'un résultat de requête

Un résultat de requête individuel est renvoyé sous forme de liste avec les informations suivantes pour chaque résultat :

  • Distance depuis l'origine du rayon, en mètres
  • Pose (position et orientation) du résultat du hit
  • Géométrie 3D touchée, sous la forme d'un objet Trackable

Vous pouvez ensuite utiliser le résultat de recherche souhaité pour placer de manière réaliste votre contenu 3D à l'aide d'un ancrage.

Types de résultats des hits

Il existe quatre types de résultats de détection : les résultats de profondeur, de plan, de point caractéristique et de placement instantané. Chacune présente ses propres cas d'utilisation et compromis, comme le montre le tableau suivant.

Type de résultat de l'appel Description Orientation Cas d'utilisation
Profondeur Utilise les informations de profondeur de l'ensemble de la scène pour déterminer la profondeur et l'orientation correctes d'un point Perpendiculaire à la surface 3D Placer un objet virtuel sur une surface arbitraire (pas seulement sur les sols et les murs)
Avion Touche les surfaces horizontales et/ou verticales pour déterminer la profondeur et l'orientation correctes d'un point Perpendiculaire à la surface 3D Placez un objet sur un plan (sol ou mur) en utilisant la géométrie complète du plan. Besoin d'une échelle correcte immédiatement. Solution de remplacement pour le test de positionnement de la profondeur
Point de fonctionnalité S'appuie sur des caractéristiques visuelles autour du point d'appui de l'utilisateur pour déterminer la position et l'orientation correctes d'un point Perpendiculaire à la surface 3D Placer un objet sur une surface arbitraire (pas seulement sur les sols et les murs)
Placement instantané (Raycast persistant) Utilise l'espace à l'écran pour placer le contenu. Utilise initialement la profondeur estimée fournie par l'application. Fonctionne instantanément, mais la pose et la profondeur réelle changeront une fois qu'ARCore sera en mesure de déterminer la géométrie réelle de la scène. +Y pointant vers le haut, à l'opposé de la gravité Placer un objet sur un plan (sol ou mur) en utilisant la géométrie complète du plan lorsque le placement rapide est essentiel et que l'expérience peut tolérer une profondeur et une échelle initiales inconnues

Compatibilité avec les appareils

Les tests de sélection fonctionnent sur tous les appareils compatibles avec ARCore, mais les tests de sélection de profondeur nécessitent des appareils compatibles avec la profondeur.

Utiliser les résultats de détection pour placer du contenu en RA

Une fois que vous avez obtenu un résultat positif, vous pouvez utiliser sa pose comme entrée pour placer du contenu de RA dans votre scène.