Aggiungere i target di tracciamento Mega
Questo documento spiega come aggiungere e configurare i target di tracking di Mega.
Prima di iniziare
- Verificare La mia funzione di localizzazione è pronta? per confermare che la cloud localization library sia stata creata correttamente e che la mappa sia stata aggiunta.
- Importare l'ultima versione del plugin EasyAR e abilitare Mega
- Conoscere i concetti di base e il modo d'uso dei target di tracking in Unity AR
Nota
Il contenuto e gli strumenti seguenti si applicano solo allo sviluppo di applicazioni Unity con EasyAR Mega.
Se si sviluppano mini program, fare riferimento a Creare e caricare annotazioni con l'editor Unity (sviluppo mini program).
Se non si sta sviluppando un'app Unity ma si desidera vedere il risultato della mappatura Mega, fare riferimento a Anteprima della mesh 3D del mondo reale nella guida Mega.
Se non si sta sviluppando un'app Unity ma si desidera simulare il risultato della localizzazione, fare riferimento a Anteprima della simulazione nella guida Mega.
Questo documento richiede che il progetto abbia già importato i seguenti Unity package:
com.easyar.sense
Il target di tracking di Mega
Il target di tracking di Mega è un GameObject vuoto che contiene il componente MegaBlockController e rappresenta un block in Unity.

Nota
Senza importare il package com.easyar.mega, le funzioni dell'editor per block non sono disponibili, ma ciò non influenza il comportamento e le funzionalità del tracking a runtime.
Se la configurazione non ha abilitato correttamente Mega, il target non sarà utilizzabile.

Creare un target di tracking
Fare clic con il tasto destro su un'area vuota nella vista Hierarchy e creare il target di tracking di Mega tramite il menu EasyAR Sense > Mega > Target : Mega Block.

In uno script, si può creare usando ARSessionFactory.CreateController.
ARSessionFactory.CreateController<MegaBlockController>();
Configurare il target di tracking
Configurare la sorgente dei dati del target
Il target di tracking può essere riconosciuto e seguito solo dopo aver configurato correttamente la sua sorgente.
Nella vista Hierarchy si può selezionare il nodo block e compilare ID e Name del block.

In uno script, prima di MonoBehaviour.Start() si può modificare Source per impostare la sorgente del block.
block.Source = new MegaBlockController.BlockInfoSourceData(id, name);
In questo caso:
- block id è l'identificatore univoco del block e deve essere compilato.
- block name è il nome del block e può essere compilato liberamente in base alle necessità; in genere si consiglia di usare il nome reale del block per facilitarne il riconoscimento.
Consiglio
block id e name si possono ottenere dalla relativa cloud localization library nel EasyAR Developer Center.

Se nella cloud localization library non ci sono dati Block, bisogna aggiungere il Block necessario nella localization library e ricontrollare che la cloud localization library sia valida.
Configurare il tracker usato dal target
Il target di tracking viene caricato dal tracker configurato e seguito dopo la localizzazione corretta.
Nella vista Hierarchy si può selezionare il nodo block e poi scegliere Mega Tracker nella sessione.
![]()
In uno script, si può modificare Tracker per impostare il tracker del block.
block.Tracker = megaTracker;
Tracker può essere modificato in qualsiasi momento a runtime; il caricamento/scaricamento avverrà mentre la sessione è in esecuzione. Se si imposta Tracker su null, il target verrà scaricato dal tracker precedentemente impostato. Il caricamento del block è un processo virtuale e non può fallire.
Nota
Perché un target venga tracciato, ci sono alcune condizioni chiave:
- L'id di MegaBlockController.Source deve essere configurato correttamente prima di MonoBehaviour.Start().
- Il block corrispondente all'id di Source deve esistere nella cloud localization library.
- MegaBlockController.Tracker deve essere configurato con la cloud localization library corretta.
Ciclo di vita del target di tracking
Un ciclo di vita tipico del target di tracking è il seguente:
flowchart LR
sstart((session avviata))
sstop([session arrestata])
start("Target.Start")
load("Carica")
tracking[["Tracking continuo"]]
sstart --> load --> tracking --> sstop
start -. "Target.Tracker = tracker" .-> load
Il flusso si divide in alcune fasi:
- Caricamento: il target di tracking viene caricato nel tracker configurato; questo avviene dopo Start() del target e dopo l'avvio della sessione.
- Processo di tracking: dopo che il target è stato localizzato, il tracker continua a seguirne posizione e stato fino a quando non viene localizzato un altro target.
- Scaricamento: il target di tracking viene scaricato dal tracker e quest'ultimo non lo segue più. Ciò avviene quando la sessione si ferma o quando al target viene impostato di non usare più un tracker.







