Domande frequenti
Definizioni usate in questa documentazione:
Pose : posizione e orientamento.
Ologramma : oggetto virtuale visibile.
Mondo reale - il mondo fisico.
Mondo fisico - il mondo reale.
Mondo virtuale- generato sinteticamente e simulato mondo presentato tramite supporti elettronici.
Marcatore globale virtuale: posizione nel sistema di coordinate virtuale (modellazione). Questo è, solo una posizione e un orientamento di riferimento.
Marcatore del mondo reale: una posa relativa all'ambiente reale e alla fotocamera corrispondente a un marcatore del mondo virtuale. La posizione del marcatore reale viene stabilita da una combinazione di dati percepiti.
Funzionalità visibili: caratteristiche del mondo fisico riconoscibili visivamente.
Che cosa fanno gli strumenti di blocco del mondo?
Date incoerenze tra marcatori virtuali e reali, Gli strumenti di blocco globale forniscono un sistema di coordinate stabile e una regolazione della fotocamera che riduce al minimo le incoerenze visibili.
In un altro modo, blocca l'intera scena con un pool condiviso di ancoraggi, invece di bloccare ogni gruppo di oggetti con il proprio ancoraggio individuale del gruppo.
Perché i marcatori virtuali e reali non sono coerenti?
Tra le molte tecnologie incredibili dietro Microsoft Realtà mista, la capacità di tenere traccia della posa del visore VR nel mondo fisico in tempo reale, senza l'aiuto di dispositivi esterni, è particolarmente sorprendente.
Il sistema di tracciamento della testa è notevolmente accurato per determinare la posizione della testa rispetto ai punti di riferimento virtuali noti nell'ambiente fisico. Per questa discussione, questi punti di riferimento virtuali saranno chiamati "funzionalità visibili".
Se si lascia una posizione nota rispetto alle caratteristiche visibili circostanti, ad esempio se l'utente cammina intorno alla stanza e quindi torna a quella stessa posizione, il sistema riconoscerà molte di queste stesse caratteristiche visibili. Può anche determinare le pose di quelle caratteristiche visibili rispetto alla posizione della testa corrente, e farlo con precisione sorprendente.
Ora il sistema di tracciamento sa dove queste caratteristiche e la testa sono relative l'una all'altra, ma non sa in termini assoluti quali sono le coordinate per la testa o le caratteristiche. Poiché il mondo fisico non ha un sistema di coordinate assoluto, non c'è una risposta giusta. Il sistema di rilevamento assegna quindi coordinate coerenti con la cronologia recente, ma potrebbe essere incoerente in tutta la cronologia. Ciò significa che, per tornare esattamente alla stessa posizione, la testa può ora avere coordinate diverse rispetto a quando ha lasciato. Si tratta di una forma di deriva del sensore.
Tuttavia, se le nuove coordinate della posizione virtuale della testa sono state spostate verso X positive, ad esempio, tutti gli oggetti ologrammi stazionari in tale sistema di coordinate virtuali vengono ora spostati verso x negativi rispetto alla testa. Ciò significa che all'osservatore che indossa il tracker della testa, verranno spostati rispetto al mondo reale rispetto al loro posizionamento precedente alla passeggiata.
Unity può gestirlo?
Sì, con limitazioni. Unity offre un meccanismo eccellente per gestire questo problema, noto come ancoraggi nello spazio. Se lo spazio virtuale è stato spostato rispetto allo spazio fisico, mantenendo traccia delle funzionalità visibili sottostanti, un ancoraggio spaziale sa spostarsi nello spazio virtuale per rimanere bloccato nello spazio fisico. Qualsiasi elemento collegato all'ancoraggio spaziale verrà trascinato nello spazio virtuale di Unity per rimanere fermo nello spazio fisico.
Le limitazioni sono legate al fatto che le caratteristiche visibili diventano inaffidabili quando sono lontane dalle telecamere del tracker della testa. Questo non è sorprendente. Le funzionalità visibili che non sono visibili rendono i punti di riferimento scarsi.
L'intervallo utile di un ancoraggio spaziale è quindi limitato a 3 metri. A seconda dei requisiti di accuratezza dell'applicazione, l'intervallo utilizzabile potrebbe essere minore.
Sembra abbastanza buono, qual è il problema?
Non va bene, è semplicemente incredibile. Tuttavia, esistono situazioni importanti, in cui gli ancoraggi nello spazio non forniscono una soluzione soddisfacente.
In primo luogo, ogni ancoraggio spaziale si sposta attraverso lo spazio di coordinate virtuale di Unity, cercando in modo indipendente di rimanere fermo nel mondo fisico. Ciò significa che gli oggetti ancorati in modo indipendente si spostano l'uno rispetto all'altro mentre tentano di rimanere nelle loro posizioni fisiche. Per un'applicazione che tenta di mantenere un layout preciso, può trattarsi di un problema di grandi dimensioni.
In secondo luogo, con il suo intervallo limitato, un singolo ancoraggio spaziale non fornirà buoni risultati per singoli oggetti che sono più grandi dell'intervallo utilizzabile di tale ancoraggio spaziale. Mentre i punti sull'oggetto vicino all'ancoraggio spaziale rimarranno ben bloccati, a causa dell'effetto braccio leva, punti più lontano e più lontano dall'ancoraggio spaziale subiranno errori sempre crescenti. Ciò lascia un oggetto, o una raccolta di oggetti, più grande di un metro o così via senza una soluzione di blocco globale affidabile.
Cos'altro può andare storto?
Al ritorno a una posizione occupata in precedenza, World Locking Tools dispone di informazioni sufficienti per ripristinare il sistema di coordinate virtuali in cui era relativo al mondo fisico. Questo mantiene gli ologrammi che sono stazionari nel mondo virtuale anche stazionario nel mondo fisico.
Ma la deriva può verificarsi in un viaggio unidirezionale, così come un round trip.
Come esempio concreto, prendere in considerazione la misurazione di 10 metri tra due codici a matrice posizionati in una stanza fisica e quindi la modellazione di due scatole nella stanza virtuale a 10 metri di distanza. Ma in fase di esecuzione, a causa della deriva della testa posa nello spazio virtuale, camminare i 10 metri tra i codici a matrice sposta 11 metri attraverso lo spazio virtuale.
L'applicazione può acconsentire esplicitamente a una funzionalità di World Locking Tools per risolvere questo problema fornendo informazioni che calibrano la distanza nello spazio virtuale a distanza nello spazio fisico. Il comportamento fornito da World Locking Tools è che, in piedi sul primo codice a matrice e guardando verso il basso verrà visualizzata la prima casella. Mentre i 10 metri sono camminati attraverso il mondo fisico, il contatore extra nello spazio virtuale viene assorbito tranquillamente, lasciando la testa spostata 10 metri anche nello spazio virtuale. Quindi, al raggiungimento del secondo codice a matrice fisico e alla ricerca verso il basso, la seconda casella virtuale sarà lì come previsto.
Si noti che verranno apportate modifiche corrispondenti a tutti gli ancoraggi che non dispongono di dati di verità sul terreno, in quanto vengono passati sul percorso tra i due codici a matrice. Questa regolazione è, naturalmente, applicata senza problemi per ridurre al minimo la sua percezione.
Cosa succede se i marcatori reali non sono stabili?
Inoltre, se i marcatori reali vengono aggiornati dinamicamente, gli strumenti di blocco globale possono regolare la cornice spaziale e la regolazione della fotocamera in modo che corrispondano in modo ottimale alla configurazione corrente.
Ad esempio, in HoloLens se i marcatori reali sono ancoraggi nello spazio, si sposteranno nel tempo. Essi si spostano anche sulla reinsezione (ad esempio la chiusura del ciclo) e in altre circostanze. Man mano che le loro pose stanno aggiornando, Gli strumenti di blocco globale compensano regolando la fotocamera come prima per ridurre al minimo le incoerenze percepite tra gli ancoraggi spaziali percepiti e le loro controparti virtuali.
Si noti che questa compensazione per gli aggiornamenti nelle posizioni di ancoraggio può verificarsi anche in assenza di dati di verità sul terreno sui marcatori. I dati di verità sul terreno impliciti sono che le relazioni correnti tra marcatori reali sono (più) corrette.
E se le incoerenze si fossero davvero cattive?
Gli strumenti di blocco globale possono rilevare diversi scenari in cui le incoerenze tra marcatori reali e virtuali sono grandi e possono essere migliorate. Ad esempio, è possibile ottenere altre informazioni che stabiliscono la relazione spaziale tra due pool di marcatori isolati in precedenza. In alternativa, la chiusura del ciclo potrebbe suggerire uno spostamento dei marcatori lungo la route per consentire la riunione degli endpoint.
In questi casi, World Locking Tools invia una notifica al client della potenziale correzione e, nella richiesta del client, esegue la correzione e notifica al client di modifiche che deve apportare negli oggetti che tengono traccia dei marcatori virtuali. Fino a quando il client non richiede una correzione di questo tipo (se mai), Gli strumenti di blocco globale continuano a ridurre al minimo le incoerenze percepite.