Table of Contents

Scegliere la modalità centro appropriata

Scegliere la modalità centro appropriata è fondamentale per la creazione di contenuti. Di seguito imparerai come ottenere e modificare le modalità centro, nonché suggerimenti per selezionare quella più adatta.

Prima di iniziare

Ottenere le modalità centro disponibili

Durante l'esecuzione di una sessione, solo le modalità centro disponibili per quella sessione verranno visualizzate nel menu a discesa Center del pannello Inspector. Se la sessione non è avviata, verranno visualizzate tutte le modalità centro.

alt text

Questa immagine mostra le modalità centro disponibili per una sessione quando si utilizza CameraDeviceFrameSource nell'editor.

Nello script, dopo il corretto assemblaggio della sessione, è possibile ottenere l'elenco delle modalità centro disponibili tramite la proprietà ARSession.AvailableCenterMode.

Ad esempio, il seguente codice mostra come verificare se una modalità centro è disponibile nella sessione corrente:

if (Session.AvailableCenterMode.Contains(mode))
{
    // mode è disponibile nella sessione corrente
}

Modificare la modalità centro

Apri il pannello Inspector e seleziona la modalità centro desiderata dal menu a discesa Center.

alt text

Nello script, è possibile modificare la modalità centro tramite la proprietà ARSession.CenterMode.

Ad esempio, il seguente codice mostra come alternare ciclicamente tra le modalità centro disponibili:

while (true)
{
    Session.CenterMode = (ARSession.ARCenterMode)(((int)Session.CenterMode + 1) % Enum.GetValues(typeof(ARSession.ARCenterMode)).Length);
    if (Session.AvailableCenterMode.Contains(Session.CenterMode)) { break; }
}

Durante ogni aggiornamento del frame, la sessione verifica se la modalità centro corrente è valida. Se valida, la sessione tenta immediatamente di utilizzare la nuova modalità centro.

In questo video, la sessione inizia utilizzando la modalità FirstTarget, con l'oggetto centrale rappresentato dall'albero di Natale (nuvola di punti azzurra). Successivamente, passiamo manualmente alla modalità Camera, dove l'oggetto centrale diventa la fotocamera (cono blu). Per una descrizione dettagliata del contenuto video, consulta Modalità centro di AR Session.

Durante l'aggiornamento della sessione, se la modalità centro modificata non è valida per la sessione corrente, la proprietà CenterMode viene automaticamente reimpostata alla prima modalità centro disponibile (solitamente FirstTarget o SessionOrigin), e viene registrato un messaggio di avviso:

Center mode {Value} is unavailable in this session, reset to {NewValue}.

Come scegliere la modalità centro

Allineare gli oggetti al mondo reale è un requisito fondamentale nella creazione di contenuti AR. La modalità centro determina quale oggetto la sessione utilizza come punto di riferimento per calcolare la posizione e l'orientamento degli altri oggetti nella scena. Pertanto, selezionare la modalità centro appropriata è cruciale per la creazione di contenuti.

Suggerimenti generali

Spesso è più conveniente utilizzare le modalità FirstTarget o SpecificTarget, impostando il target come centro. Questo mantiene stabile il punto di riferimento per i contenuti posizionati sotto il target, evitando influenze indesiderate dovute al movimento di XR Origin o camera (ad esempio, sul calcolo del sistema fisico). Tuttavia, non è una regola assoluta:

  • Se non sai cosa scegliere, usa il valore predefinito, ovvero la modalità centro FirstTarget
    Poiché la maggior parte delle funzionalità AR presenta errori che vengono continuamente corretti durante l'esecuzione, oggetti apparentemente fissi nel mondo reale (come il target della mappa spaziale sparsa e XR Origin del motion tracking) possono muoversi relativamente nello spazio virtuale. In questi casi, utilizzare il target come centro è più adatto alle esigenze di creazione dei contenuti rispetto a XR Origin.

  • Più target tracciati simultaneamente
    Anche in questo caso, a causa degli errori di calcolo, i target possono muoversi relativamente tra loro anche se gli oggetti reali sono fissi. La scelta dell'oggetto centrale dipende dalle esigenze specifiche, ma solitamente la modalità FirstTarget è la scelta più appropriata.

  • Quando usare la modalità SessionOrigin
    SessionOrigin è adatta per scenari in cui è attivo solo il motion tracking, dove XR Origin è l'unico punto di riferimento. È utile anche in casi speciali, ad esempio se i produttori di visori non implementano correttamente il punto di riferimento per il motion tracking, rendendo necessario forzare l'uso della modalità SessionOrigin utilizzando il centro del mondo Unity.

  • Scenari per la modalità Camera
    La modalità Camera è più adatta per scenari con fotocamera fisica fissa (ad esempio, AR per giochi di carte con fotocamera fissa), rendendo più semplice la creazione di contenuti.

Modalità centro comuni per diverse funzionalità AR

Quando si utilizzano singole funzionalità AR, alcune modalità centro sono più comuni. La tabella seguente elenca le modalità centro tipiche per ciascuna funzionalità:

Funzionalità Modalità centro comune
Mega FirstTarget o SpecificTarget
Motion tracking SessionOrigin
Plane detection SessionOrigin
Sparse spatial map FirstTarget o SpecificTarget
Dense spatial map SessionOrigin
Surface tracking FirstTarget o SpecificTarget
Image tracking FirstTarget, SpecificTarget o Camera
Image cloud reco FirstTarget, SpecificTarget o Camera
Object tracking FirstTarget, SpecificTarget o Camera

Considerazioni per il multi-dispositivo

Nello sviluppo di applicazioni AR multi-dispositivo, è necessario considerare il supporto alle diverse modalità centro su ciascun dispositivo.

  • Per smartphone e tablet, generalmente non ci sono grossi problemi. Se è necessaria la modalità SessionOrigin, assicurarsi che il motion tracking funzioni.
  • Per i visori, è necessario prestare particolare attenzione:
    • Consulta Modalità centro disponibili per determinare quali modalità centro sono supportate dai dispositivi che intendi utilizzare. Se usi estensioni di terze parti, verifica il OriginType che utilizzano.
    • Su dispositivi Rokid, evita di utilizzare UXR. L'uso di XRI garantisce la disponibilità della maggior parte delle modalità centro.
    • Su visori che non supportano le modalità FirstTarget e SpecificTarget, tieni presente che contenuti basati su funzionalità come Mega o image tracking non potranno rimanere fissi rispetto al sistema di coordinate mondiale di Unity.

Contenuti visualizzati correttamente in ogni modalità centro

Avvertenza

In Unity AR, qualsiasi oggetto posizionato nel sistema di coordinate mondiale di Unity e il cui transform non viene regolato in base ai componenti della sessione potrebbe non essere visualizzato correttamente.

I modelli posizionati nel sistema di coordinate mondiale potrebbero non corrispondere a nessun oggetto nel mondo reale. Durante l'esecuzione, potrebbero apparire correttamente per caso, oppure fluttuare nell'aria o muoversi caoticamente.

Per garantire che i contenuti vengano visualizzati correttamente in qualsiasi modalità centro, il metodo corretto è:

  • Posizionare sempre i contenuti da visualizzare sotto il nodo target corrispondente, o sotto il nodo XR Origin (se i contenuti devono seguire il movimento di XR Origin)
  • Oppure allineare manualmente posizione e orientamento dei contenuti con target o XR Origin, ma operando dopo l'evento ARSession.PostSessionUpdate
Nota

Questo non garantisce il corretto funzionamento di tutti gli elementi, poiché alcune funzionalità di Unity (come il sistema fisico) operano solo nel sistema di coordinate mondiale. Scegliere la modalità centro appropriata rimane importante.

Argomenti correlati