Utiliser des ancres

Utilisez des ancrages pour que les objets virtuels semblent rester en place dans une scène de RA.

Pourquoi utiliser des ancrages ?

À mesure que la compréhension de l'environnement d'ARCore se met à jour tout au long d'une expérience de RA, les objets virtuels peuvent sembler s'éloigner de leur emplacement. Cela peut avoir un impact sur le réalisme et l'expérience utilisateur de votre application.

Les ancrages garantissent que les objets semblent rester à la même position et à la même orientation dans l'espace, ce qui vous aide à conserver l'illusion d'objets virtuels placés dans le monde réel.

Fonctionnement des ancrages

Si vous débutez avec les ancres, il est utile de passer en revue l'espace mondial et les postures.

  • Espace mondial

    • Espace de coordonnées dans lequel la caméra et les objets sont positionnés
    • Les positions de la caméra et des objets sont mises à jour dans l'espace du monde, d'une image à l'autre
  • Pose

    • Représente la position et l'orientation d'un objet dans l'espace du monde
    • Également appelée transformation dans iOS

Lorsque vous créez une ancre, vous utilisez une pose qui décrit une position et une orientation par rapport à l'estimation de l'espace mondial pour l'image actuelle.

Vous allez associer un ou plusieurs objets à cette ancre. L'ancre et les objets qui lui sont associés semblent rester là où ils sont placés dans le monde. À mesure que la position de l'ancre s'adapte aux mises à jour de l'espace mondial dans chaque frame, l'ancre met à jour les positions des objets en conséquence.

Vous pouvez associer plusieurs objets à la même ancre pour vous assurer qu'ils conservent leur position et leur orientation relatives, même lorsque la pose de l'ancre s'ajuste.

Utiliser des ancrages dans votre scène

Pour utiliser des ancrages dans votre scène, votre code doit:

  • Créez des ancres dans le contexte d'un élément traçable (un plan, par exemple) ou d'une session ARCore.
  • Associez un ou plusieurs objets à l'ancre.

Les ancrages sont compatibles avec différents types de comportements de position dans les objets de votre scène.

Le contexte d'ancrage et le nombre d'ancres dont vous avez besoin pour les objets de votre scène dépendent du comportement de position requis par la scène de RA. Pour en savoir plus, consultez les sections suivantes.

Choisir un contexte d'ancrage

Ajoutez des ancres à votre scène à l'aide d'un suivi ou d'une session ARCore.

Quand vous voulez que des objets Fixez l'ancre au
Ils semblent "soudés" au traçable et sont soumis aux mêmes effets de rotation que l'élément traçable.
Voici quelques exemples :
  • Semble attacher à la surface d'un avion
  • Maintien d'une position par rapport à un élément traçable (par exemple, flottant au-dessus ou devant celui-ci)
Suivi possible
semblent rester dans la même position dans l'espace tout au long de l'expérience utilisateur ; Session ARCore

Ancrez un ou plusieurs objets

Vous pouvez associer un ou plusieurs objets à une ancre. En général, ces objets ont une relation spatiale avec un ou plusieurs des éléments suivants:

  • l'un l'autre ;
  • Un élément traçable, tel qu'un avion
  • Une position dans l'espace du monde

Consignes concernant l'ancrage

L'utilisation efficace des ancrages est bénéfique pour le réalisme et les performances de votre application.

Les objets associés à une ancre à proximité semblent conserver leur position de manière réaliste et par rapport les uns par rapport aux autres tout au long de l'expérience de RA.

Utiliser uniquement les ancres dont vous avez besoin permet de réduire les coûts du processeur.

Réutiliser les ancres si possible

Dans la plupart des cas, vous devez utiliser la même ancre pour plusieurs objets à proximité plutôt que de créer une ancre pour chaque objet.

Utilisez une nouvelle ancre pour un objet si celui-ci doit conserver une relation spatiale unique avec un élément traçable ou une position dans l'espace du monde.

N'oubliez pas que si chaque objet d'une scène a sa propre ancre, ces ancres ajustent les poses de l'objet indépendamment les unes des autres en réponse à l'estimation de l'espace mondial par ARCore dans chaque image. Les objets ancrés séparément peuvent se déplacer ou pivoter les uns par rapport aux autres, brisant ainsi l'illusion d'une scène de RA dans laquelle les objets virtuels doivent rester en place les uns par rapport aux autres.

Exemple
Par exemple, imaginez que votre application permette aux utilisateurs de placer des meubles virtuels dans une pièce. Un utilisateur ouvre l'application, et ARCore commence à suivre une table et un étage de la salle en tant que plans. L'utilisateur positionne une lampe virtuelle sur la table. Ensuite, l'utilisateur pose une chaise virtuelle sur le sol.

À ce stade, votre scène doit avoir une ancre sur le plan de table et une autre sur le plan de sol.

Si l'utilisateur ajoute une autre lampe virtuelle à la table, vous pouvez réutiliser l'ancre déjà fixée au plan de table. De cette façon, les deux lampes semblent adhérer au plan de table et conserver leurs positions l'une par rapport à l'autre. La chaise conserve également sa position par rapport au plan de sol.

Placer les objets à proximité des ancrages

Lorsque vous ancrez des objets, assurez-vous qu'ils sont proches de l'ancre que vous utilisez. Évitez de placer des objets à plus de huit mètres de l'ancre afin d'éviter tout mouvement de rotation inattendu causé par les mises à jour des coordonnées spatiales mondiales par ARCore.

Si vous devez placer un objet à plus de huit mètres d'une ancre existante, créez une ancre plus proche de cette position et associez-y l'objet.

Dissocier les ancres inutilisées

Dissociez toutes les ancres dont vous n'avez plus besoin pour améliorer les performances de votre application.

Votre application entraîne des frais de processeur pour chaque élément Trackable, et ARCore ne publie pas de Trackables associés à des ancres.

Types d'ancres

Les types d'ancres se distinguent par le champ d'application dans lequel ils sont valides, qu'ils soient locaux ou mondiaux.

  • Les ancres locales sont stockées localement avec l'application et ne sont valides que pour cette instance de l'application. L'utilisateur doit se trouver physiquement à l'emplacement où il place l'ancre.

  • Les ancres cloud sont stockées dans Google Cloud et peuvent être partagées entre les instances d'application. L'utilisateur doit se trouver physiquement à l'endroit où il place l'ancre.

  • Les ancres géospatiales sont basées sur la latitude, la longitude et l'altitude géodésiques, ainsi que sur les données du système de positionnement visuel (VPS) de Google, pour fournir une position exacte presque n'importe où dans le monde. L'utilisateur peut placer une ancre à partir d'un emplacement distant, à condition que l'application soit connectée à Internet et puisse utiliser le serveur VPS.