Table of Contents

Ajouter une cible de suivi Mega Go

Cet article explique comment ajouter et configurer une cible de suivi Mega Go.

Avant de commencer

Note

Le contenu et les tools suivants s'appliquent uniquement au développement d'applications Unity avec EasyAR Mega Go. Une version du plugin >= 4003.1 est requise.

Mega Go ne prend pas en charge le développement de mini program.

Le contenu de cet article nécessite que les packages Unity suivants aient déjà été importés dans le projet :

  • com.easyar.sense

Cible de suivi Mega Go

Une cible de suivi Mega Go est un empty object contenant le composant MegaGoBlockController. Dans Unity, elle représente un block.

alt text

Note

Lorsque le package com.easyar.mega n'est pas importé, les fonctions d'éditeur du block ne sont pas disponibles, mais cela n'affecte pas l'effet ni les fonctions de suivi au runtime.

Créer une cible de suivi

Dans une zone vide de la vue Hierarchy, faites un clic droit, puis créez une cible de suivi Mega via le menu EasyAR Sense > Mega > Target : Mega Go Block.

alt text

Dans un script, vous pouvez la créer avec ARSessionFactory.CreateController.

ARSessionFactory.CreateController<MegaGoBlockController>();

Configurer la cible de suivi

Avant d'utiliser un target, vous devez configurer sa source de données et son tracker.

Configurer la source de données du target

Une cible de suivi ne peut être reconnue et suivie qu'après la configuration correcte de sa source.

Dans la vue Hierarchy, sélectionnez le noeud block, puis renseignez Path Type et Path du block.

Dans un script, vous pouvez modifier Source avant MonoBehaviour.Start() du composant afin de définir la source du block.

block.Source = new MegaGoBlockController.FileSourceData(PathType.Absolute, path);

Où :

  • PathType est le type du chemin du fichier emg. Il peut s'agir d'un chemin absolu (Absolute) ou du chemin StreamingAssets du projet (StreamingAssets).
  • Path est le chemin du fichier emg. Lorsque PathType vaut Absolute, il s'agit du chemin absolu dans le système de fichiers. Lorsque PathType vaut StreamingAssets, il s'agit du chemin relatif sous le dossier StreamingAssets du projet.
Astuce

Le fichier emg doit être téléchargé depuis la page Mega Go du EasyAR Developer Center.

Astuce

Comme le fichier emg peut être volumineux, si la taille du package de l'application est trop importante, il est recommandé d'utiliser le chemin StreamingAssets uniquement pendant la phase de test. Pour une publication officielle, utilisez un chemin absolu et placez le fichier emg dans un chemin du système de fichiers accessible par l'application via un resource package ou un autre moyen.

Configurer le tracker utilisé par le target

La cible de suivi sera chargée et suivie par le tracker configuré.

Important

Le tracker Mega Go ne peut suivre qu'un seul block à la fois. Si plusieurs blocks sont configurés dans le même tracker en même temps, seul le dernier block chargé sera utilisé.

Dans la vue Hierarchy, sélectionnez le noeud block, puis sélectionnez le Mega Go Tracker dans la session.

Dans un script, vous pouvez modifier Tracker pour définir le tracker du block.

block.Tracker = megaGoTracker;

Tracker peut être modifié à tout moment au runtime ; le chargement/déchargement se produit pendant l'exécution de la session. Si Tracker est défini sur null, ce target sera déchargé du tracker précédemment défini.

Note

Plusieurs conditions clés sont nécessaires pour qu'un target soit suivi :

  1. Le block correspondant à Source doit être disponible (les données officielles sont toujours disponibles offline, tandis que les données de test ne sont disponibles que lorsque ces données existent dans le service).
  2. Le fichier de MegaGoBlockController.Source doit être chargé correctement.
  3. Après le chargement du fichier, aucun autre fichier correspondant à un autre block ne doit être chargé.

Cycle de vie de la cible de suivi

Un cycle de vie courant d'une cible de suivi est le suivant :

flowchart LR
  sstart((session démarrée))
  sstop([session arrêtée])
  
  start("Target.Start")
  load("Chargement")
  tracking[["Suivi continu"]]

  sstart --> load --> tracking --> sstop
  start -. "Target.Tracker = tracker" .-> load 

Le processus se divise globalement en plusieurs étapes :

  • Chargement : la cible de suivi est chargée par le tracker configuré. Cela se produit après le Start() du target lui-même et après le démarrage de la session.
  • Processus de suivi : après la localization de la cible de suivi, le tracker suit continuellement la position et l'état du target jusqu'à ce que le target soit déchargé ou qu'un autre target soit chargé.
  • Déchargement : la cible de suivi est déchargée du tracker, et le tracker ne suit plus le target. Cela se produit lorsque la session s'arrête ou lorsque le target est configuré pour ne pas utiliser de tracker.

Étapes suivantes

Rubriques connexes