Table of Contents

Target di tracking in Unity AR -- target

target esprime in Unity vari oggetti tracciabili. Attraverso il contenuto seguente, comprenderete i concetti di base, gli stati e il lifecycle dell'oggetto di tracking target in Unity AR.

Prima di iniziare

Che cos'è target

target indica la rappresentazione in Unity degli oggetti riconosciuti e tracciati dalle funzioni AR. Nel mondo reale questi oggetti possono essere immagini, oggetti 3D, mappe spaziali e così via. Riconoscendo e tracciando questi oggetti, un'applicazione AR può sovrapporre contenuti virtuali al mondo reale e realizzare esperienze interattive ricche.

Alcuni target sono statici nel mondo reale, per esempio un poster su una parete.

Questo video mostra una semplice scena AR in cui è in esecuzione image tracking. A sinistra c'è la vista Hierarchy, al centro la vista Scene, a destra la vista Game. Il video è stato registrato in modalità Play di Unity Editor usando dati di esecuzione simulati. Il contenuto della vista Game è uguale a ciò che l'utente vede sul telefono nel mondo reale. In questo video, target (ImageTarget) rappresenta un biglietto da visita nel mondo reale. Abbiamo posizionato una sfera gialla sopra di esso come indicatore per osservarne facilmente il movimento.

Si può vedere che la posizione di target nel mondo reale e nella scena è fissa, mentre la camera che rappresenta l'utente, cioè il cono blu, si muove in base al movimento dell'utente nel mondo reale. Il cono bianco registra la traiettoria di posizione e orientamento della camera in un periodo precedente. La sfera gialla si trova sotto il nodo target (ImageTarget), che è anche la tipica struttura organizzativa degli oggetti in scenari di questo tipo.

Alcuni target possono muoversi nel mondo reale, per esempio un poster su un autobus.

Questo video mostra la stessa scena, ma questa volta abbiamo spostato target, cioè il biglietto da visita, nel mondo reale. Si può vedere che dopo lo spostamento di target, la sfera gialla segue il movimento del biglietto da visita, mentre nella vista Game il marker della sfera rimane aderente al biglietto.

Per facilitare la comprensione, nei due video precedenti è stata disattivata la visualizzazione del gizmo di ImageTarget, e in entrambi è stato usato il center mode SessionOrigin. In questi due video, il movimento degli oggetti nella vista Scene è uguale a quello del mondo reale. Nelle scene AR effettive, questa relazione di movimento è più complessa.

Comportamento di target in diversi center mode

In Unity, il punto di riferimento centrale di tutto l'AR tracking è chiamato session center, mentre le regole che determinano questo centro durante l'esecuzione della session sono chiamate center mode. In center mode diversi, target ha comportamenti diversi:

  • Nel center mode SessionOrigin, target non può essere spostato arbitrariamente.

    La modalità SessionOrigin può esistere solo in scene con motion tracking.

    Sebbene questa modalità nella semplice scena precedente possa mostrare bene il movimento di target e della camera nella realtà, nelle scene AR effettive non è usata spesso. In questa modalità, la session controlla il movimento di target, e a causa degli errori di calcolo del motion tracking o della funzione AR stessa, è difficile garantire che target sia completamente fermo. In questo caso il nodo root del contenuto deve seguire il movimento di target, e nel sistema Unity ciò può influire sul comportamento del contenuto, per esempio sul sistema fisico.

  • Nel center mode FirstTarget o SpecificTarget, se target è proprio l'oggetto scelto come centro, può essere spostato liberamente.

    In generale, la modalità FirstTarget è piuttosto comune. Garantisce che il primo oggetto tracciato nella scena non venga controllato dalla session. Se non c'è necessità di spostare target, esso rimane fisso, indipendentemente dal fatto che l'oggetto corrispondente nella scena reale si muova o meno.

  • Nel center mode FirstTarget o SpecificTarget, se target non è l'oggetto scelto come centro, e nel center mode Camera, target non può essere spostato arbitrariamente.

    Quando si tracciano più oggetti contemporaneamente, anche se questi oggetti sono relativamente fissi nell'ambiente reale, a causa degli errori di calcolo nello stesso momento può esserci solo un target non controllato dalla session. A seconda della configurazione, non è garantito se gli altri target si muovano o meno; anche se nella realtà non si muovono, nella scena possono esserci piccoli movimenti. Questo comportamento nel tracking simultaneo di più oggetti deve essere considerato pienamente e la strategia dei contenuti deve essere regolata in modo ragionevole.

Per center mode e modi di movimento degli oggetti nella scena, consultare in dettaglio Center mode.

Stato di target

Lo stato di target riflette la situazione di recognition e tracking di target nella session corrente. Gli stati comuni includono:

  • Tracked: target è stato riconosciuto e tracciato correttamente. L'applicazione AR può sovrapporre contenuto virtuale su di esso, e il contenuto aderirà all'oggetto nel mondo reale.
  • Not Tracked: target al momento non è riconosciuto o tracciato. Se l'applicazione AR continua a sovrapporre contenuto virtuale su di esso, il contenuto non aderirà all'oggetto nel mondo reale.

Inoltre, quando lo stato cambia, è possibile rispondere tramite questi events:

  • TargetFound: attivato quando target viene riconosciuto e tracciato correttamente.
  • TargetLost: attivato quando target perde lo stato di tracking.

Lifecycle di target

Nelle scene Unity AR, target è solitamente gestito dal componente frame filter corrispondente. frame filter elabora i dati immagine provenienti da frame source e riconosce e traccia i target presenti. Il lifecycle di frame filter dipende dalla session. Anche se l'implementazione di diverse funzioni AR può variare, nella maggior parte dei casi, all'avvio della session, target viene caricato e dopo il caricamento è controllato dalla session. Quando la session si arresta, target viene scaricato e rimane in posizione finché non viene usato dalla session successiva o eliminato manualmente.

Passaggi successivi

Argomenti correlati