Table of Contents

Aggiungere i target di tracciamento Mega

Questo documento spiega come aggiungere e configurare i target di tracking di Mega.

Prima di iniziare

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.

alt text

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.

alt text

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.

alt text

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:

  1. L'id di MegaBlockController.Source deve essere configurato correttamente prima di MonoBehaviour.Start().
  2. Il block corrispondente all'id di Source deve esistere nella cloud localization library.
  3. 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.

Passi successivi

Argomenti correlati