Table of Contents

Ajouter une cible de suivi Mega Go

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

Avant de commencer

Note

Le contenu et les outils suivants ne s'appliquent qu'au développement d'applications Unity avec EasyAR Mega Go. La version du plug-in doit être >= 4003.1.

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

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

  • com.easyar.sense

Cible de suivi de Mega Go

La cible de suivi de Mega Go est un objet vide contenant le composant MegaGoBlockController, qui représente un bloc dans Unity.

alt text

Note

Lorsque le package com.easyar.mega n'est pas importé, les fonctionnalités de l'éditeur du bloc ne sont pas disponibles, mais cela n'affecte pas les effets et les fonctionnalités de suivi au moment de l'exécution.

Créer une cible de suivi

Cliquez avec le bouton droit sur un emplacement vide dans la vue Hierarchy, puis sélectionnez EasyAR Sense > Mega > Target : Mega Go Block dans le menu pour créer une cible de suivi Mega.

alt text

Dans un script, vous pouvez utiliser ARSessionFactory.CreateController pour créer la cible.

ARSessionFactory.CreateController<MegaGoBlockController>();

Configurer la cible de suivi

Avant d'utiliser une cible, vous devez configurer sa source de données et le suivi.

Configurer la source de données de la cible

Une cible de suivi ne peut être reconnue et suivie qu'après avoir été correctement configurée avec sa source.

Dans la vue Hierarchy, vous pouvez sélectionner le nœud du bloc, puis remplir le Path Type et le Path du bloc.

Dans un script, vous pouvez modifier Source avant MonoBehaviour.Start() pour définir la source du bloc.

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

Où :

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

Le fichier emg doit être téléchargé à partir de la page Mega Go du Centre de développement EasyAR.

Astuce

Étant donné que 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. Lors de la publication officielle, utilisez un chemin absolu et placez le fichier emg dans un chemin de système de fichiers accessible par l'application via un package de ressources ou d'autres moyens.

Configurer le suivi utilisé par la cible

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

Important

Le suivi de Mega Go ne peut suivre qu'un seul bloc à la fois. Si plusieurs blocs sont configurés pour le même suivi, seul le dernier bloc chargé sera utilisé.

Dans la vue Hierarchy, vous pouvez sélectionner le nœud du bloc, puis choisir le Mega Go Tracker dans la session.

Dans un script, vous pouvez modifier Tracker pour définir le suivi du bloc.

block.Tracker = megaGoTracker;

Tracker peut être modifié à tout moment au moment de l'exécution. Le chargement/déchargement se produira lorsque la session est en cours d'exécution. Si vous définissez Tracker sur null, la cible sera déchargée du suivi précédemment configuré.

Note

Pour qu'une cible soit suivie, plusieurs conditions clés doivent être remplies :

  1. Le bloc correspondant à Source doit être disponible (les données officielles sont toujours disponibles hors ligne, les données de test ne sont disponibles que si elles existent dans le service).
  2. Le fichier de MegaGoBlockController.Source doit être correctement chargé.
  3. Aucun autre fichier de bloc n'a été chargé après le chargement de ce fichier.

Cycle de vie de la cible de suivi

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

flowchart LR
  sstart((session 启动))
  sstop([session 停止])
  
  start("Target.Start")
  load("加载")
  tracking[["持续跟踪"]]

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

Le processus se divise en plusieurs étapes :

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

Étapes suivantes

Thèmes connexes