Ajouter un objectif de suivi Mega
Cet article explique comment ajouter des objectifs de suivi Mega et comment charger des modèles d'environnement dans l'éditeur Unity pour faciliter le développement.
Commencer avant
- Vérifiez ma bibliothèque de localisation est-elle utilisable ?
- Importer la dernière version du plugin EasyAR pour activer les fonctionnalités Mega
- Comprendre les concepts de base et l'utilisation des objectifs de suivi dans Unity AR
Note
Le contenu et les outils suivants s'appliquent uniquement au développement d'applications Unity utilisant EasyAR Mega.
Si vous développez une mini-application, consultez créer et télécharger des annotations à l'aide de l'éditeur Unity (développement de mini-applications).
Si vous souhaitez simplement visualiser les résultats de la cartographie Mega, consultez prévisualiser le maillage scénique 3D dans le guide d'utilisation Mega.
Si vous devez simuler l'exécution pour vérifier l'effet de localisation, mais que vous n'avez pas de projet d'application Unity utilisable, consultez prévisualisation de l'effet de simulation dans le guide d'utilisation Mega.
Objectifs de suivi Mega
Les objectifs de suivi Mega sont des objets vides contenant un composant BlockController, appelés block. Dans la scène, les blocks sont organisés sous un objet vide contenant un composant BlockRootController, nommé par défaut MegaBlocks. Tous les objets block sous MegaBlocks représentent les objectifs de suivi dans la bibliothèque de localisation actuelle.

Pendant le développement, il est souvent nécessaire d'utiliser des modèles de block pour aider à visualiser et placer le contenu 3D. Ce modèle peut être chargé dans la scène à l'aide d'outils, facilitant la visualisation et la référence.

La position du modèle est alignée avec l'objectif de suivi block, permettant de placer directement du contenu 3D sur le modèle.
Astuce
Les modèles sont stockés sous des nœuds d'outils, n'existent qu'en mode éditeur et ne sont pas intégrés dans l'application finale.
Ajouter des objectifs de suivi dans l'éditeur
Cette méthode nécessite de configurer BlockHolder.BlockRootSource sur External (par défaut) ou Mixed.

Ajouter l'outil Block viewer for unity developer
Dans la vue Hierarchy, faites un clic droit sur un espace vide, puis via le menu EasyAR Mega > Tool > Block Viewer for Unity Developer (Edit Mode) pour ajouter l'outil Block viewer destiné au développement Unity.

Important
Lors du développement d'applications Mega avec Unity, vous devez utiliser l'outil Block Viewer for Unity Developer. Les autres outils sous le menu EasyAR Mega > Tool ne conviennent pas au développement d'applications Unity.
Bien que l'Annotation Tool ait des fonctionnalités similaires, certaines de ses fonctions seront supprimées dans les futures versions et son utilisation est donc déconseillée.
Les fonctionnalités d'annotation de l'Annotation Tool (l'annotation elle-même) seront bientôt migrées vers le centre de développement EasyAR, le chargement du maillage block et le placement des modèles ne sont pas affectés.
Une fois l'outil ajouté, un nœud EasyAR.Mega.BlockViewer (Dev) et un nœud MegaBlocks apparaissent dans la hiérarchie de la scène.

Générer des objectifs de suivi – block
Sélectionnez le nœud EasyAR.Mega.BlockViewer (Dev), dans le panneau Inspector, remplissez les informations de compte EasyAR et connectez-vous ;

Cliquez sur le bouton à droite de Mega cloud service ;

Sélectionnez le service de localisation Mega à utiliser, cliquez sur OK.

Après avoir sélectionné le service, la liste des blocks de la bibliothèque actuelle s'affiche sous le nœud MegaBlocks et dans le panneau de l'outil.

Astuce
Pourquoi mon nœud MegaBlocks est-il vide ?
Il est recommandé de vérifier ma bibliothèque de localisation est-elle utilisable ?
À ce stade, les objectifs de suivi block ont été générés. Chaque sous-nœud commençant par Block_ sous le nœud MegaBlocks représente un objectif de suivi block.
Charger le modèle de block
Cliquez sur charger pour sélectionner le block :

Une fois le chargement terminé, le block s'affiche dans la fenêtre Scene.

Ajouter automatiquement des objectifs de suivi lors d'une localisation réussie
Cette méthode nécessite de configurer BlockHolder.BlockRootSource sur Internal ou Mixed.
Dans ces modes, si un nouveau block est localisé et qu'il n'existe pas sous le nœud BlockHolder.BlockRoot, ce nouveau block sera automatiquement ajouté sous le nœud BlockHolder.BlockRoot. Si BlockHolder.BlockRoot n'existe pas, il sera créé automatiquement.
Astuce
Lors de l'ajout automatique d'objectifs de suivi lors d'une localisation réussie, il n'est pas possible de charger les modèles de block, seuls les objectifs de suivi block peuvent être ajoutés.
Ajouter des objectifs de suivi via un script
Cette méthode nécessite de configurer BlockHolder.BlockRootSource sur Internal ou Mixed, auquel cas BlockHolder.BlockRoot sera créé automatiquement s'il n'existe pas. Vous pouvez également spécifier à l'avance l'objet BlockHolder.BlockRoot dans l'éditeur lorsque BlockHolder.BlockRootSource est sur External.
Note
Si le block ne fait pas partie de la bibliothèque de localisation, même s'il est ajouté à la scène via un script, il ne pourra pas être localisé.
Vous pouvez utiliser la méthode BlockHolder.Hold pour ajouter un nouveau block sous le nœud BlockHolder.BlockRoot. Cette méthode est généralement utilisée avec des fichiers d'annotation ema, lorsque le script lit les informations d'annotation et ajoute le block.
Par exemple, l'extrait de code suivant montre comment utiliser les informations du fichier d'annotation pour ajouter un block :
foreach (var item in ema.blocks)
{
var info = new BlockController.BlockInfo { ID = item.id.ToString(), Timestamp = item.timestamp };
if (!item.keepTransform && item.location.OnSome)
{
blockHolder.Hold(info, item.location.Value);
}
else
{
blockHolder.Hold(info, item.transform.ToUnity());
}
}
Astuce
Lors de l'ajout d'objectifs de suivi via un script au moment de l'exécution, il n'est pas possible de charger les modèles de block, seuls les objectifs de suivi block peuvent être ajoutés.