Inside-out tracking test Quest con Unity – Parte 1 Mappare il mondo reale

In questa serie di post voglio condividere la procedura di test di inside out tracking con l’Oculus Quest. L’obiettivo è di “mappare” casa e costruire una versione virtuale che testerò nel Quest.

Misurare lo spazio

Il primo step è quello di prendere le misure dello spazio che andrò a mappare e ho usato un Disto per prendere le misure. Non ho fatto un lavoro di precisione al millimetro anche perché per ora devo testare solo il funzionamento del sistema.

Misurazione dell’ambiente con il Disto

Per testare il funzionamento del sistema Guardian dell’Oculus Quest ho deciso di creare un ambiente abbastanza complesso e con spazi anche limitati così da avere un confronto immediato reale/virtuale ed i limiti della vicinanza del Guardian al luogo d’azione.

Oculus Insight

Come prima cosa bisogna comprendere il sistema di tracking del Quest nominato Oculus Insight. Attraverso i quattro sensori posti ai bordi il visore analizza ed individua le caratteristiche dell’ambiente e crea una sorta di mappa tridimensionale dell’ambiente sotto forma di nuvola di punti. Il sistema combina i dati del giroscopio e dell’accelerometro con la posizione dei singoli punti ogni millisecondo e questo permette di definire la posizione del HMD nello spazio.

Definire il Guardian

Bordi del Guardian

Il Guardian è il sistema di protezione virtuale che viene impostato al primo utilizzo del visore. Come nel Rift anche con il Quest viene impostato nella fase di setup. Il primo step è definire se l’esperienza sarà Room scale o Statica e nel mio caso vale la prima. Per questo devo definire lo spazio di azione. Il setup è molto semplice; come prima cosa si definisce l’altezza del pavimento e l’automatismo funziona perfettamente. Si attiva una sorta di view through che mostra l’ambiente circostante in bianco e nero e si procede con la definizione dell’alteza. Ho solo riscontrato dei problemi in ambienti molto scuri. Se non viene rilevato si può definirlo con il controller portandolo all’altezza del pavimento. Una volta definita l’altezza del pavimento si passa al tracciamento del guardian e lo si delimita con il controller. Tracciando a terra i limiti si definisce il Guardian

Nell’immagine sopra vedete il primo tentativo di far combaciare il Guardian con l’ambiente creato in Unity. Nonostante il fatto che il Guardian e l’ambiente in Unity non fossero allineati perfettamente mi ha comunque permesso di muovermi nella mia stanza virtuale all’interno del corridoio di casa senza andare a sbattere su tavoli o conto la libreria. La cosa che ho notato è che nela fase di avvio della build di Unity bisogna essere posizionati il più precisi possible nel punto e guardare nella direzione della camera in Unity. Così le distanze tra reale e virtuale coincidono altrimenti ci possono essere degli sfasamenti.

Il prossimo passo è creare l’ambiente virtuale in Unity. Ma questo lo vedremo nel prossimo post.