I designer di siti web hanno familiarità con l'idea del Responsive Web Design, ovvero la creazione di un sito web che funzioni su diversi dispositivi, come cellulari, tablet e computer, con risoluzioni dello schermo e proporzioni pixel diverse. WebVR introduce nuove sfide per l'idea del design reattivo.
Possiamo classificare un'esperienza WebVR in base a due metriche: il livello di immersione e il livello di input. Questi livelli sono distinti per "gradi di libertà" (DOF). 6 DOF si riferisce al monitoraggio sia della posizione che dell'orientamento, 3 DOF indica solo l'orientamento di tracciamento e 0 DOF non traccia né la posizione né l'orientamento.
Livello di immersione
- Nessuna VR: monitor o display mobile.
- VR stazionaria: dispositivo con monitoraggio 3DOF.
- VR seduta: rilevamento DOF 6, ma in un'area e un intervallo di angoli limitati.
- Room Scale VR: monitoraggio DOF di 6 elementi in un ambiente con dimensioni di una stanza.
Livello di ingresso
- 0 DOF: l'unico input disponibile è un clic o un tocco. Questo metodo di inserimento è legato alla direzione in cui l'utente è rivolto. Talvolta ci riferiamo a questo sistema di controllo dello sguardo.
- 3 DOF: un controller che tiene traccia del suo orientamento può essere utilizzato come un puntatore laser per specificare una direzione o una posizione. La posizione del controller viene stimata in base al punto di vista dell'utente. È incluso il controller Daydream.
- 6 DOF: un controller che tiene traccia della sua posizione e dell'orientamento. Può essere usato per simulare da vicino una mano in VR.
Quindi si può vedere che una singola applicazione potrebbe supportare qualsiasi cosa, da un display mobile non VR con un solo clic per accedere a un'esperienza completa su scala della stanza con due controlli a mano completamente monitorati.
Lab su WebVR
In PlayCanvas WebVR Lab abbiamo implementato alcune delle interazioni principali di cui potresti aver bisogno nella tua applicazione e le abbiamo scalate sui diversi livelli di esperienza.
Come funzionano le interazioni
I meccanismi di base del funzionamento delle interazioni in WebVR Lab sono le intersezioni delle raggi. Il pavimento, la stanza e tutti gli oggetti con cui è possibile interagire sono definiti in termini di una delle tre primitive di forma:
- Riquadro di delimitazione allineato all'asse (o AABB): un riquadro che non viene ruotato.
- Riquadro di delimitazione orientato: un riquadro che può essere ruotato.
- Sfera: un raggio intorno a un punto nello spazio.
Per capire se è possibile compiere un'azione, lanciamo un raggio nel mondo e verifichiamo se il raggio si interseca con la forma degli oggetti che lo circonda. Sono possibili diversi tipi di interazione a seconda di dove ha origine il raggio (la fotocamera o il controller) e la lunghezza del raggio (sfruttamento ravvicinato o puntato a una certa distanza).
Azioni semplici
Innanzitutto definiamo alcune semplici azioni e come vengono utilizzate con controller diversi.
Evidenzia
Per evidenziare un luogo o un oggetto, puoi osservarlo (con un controller dello sguardo) o puntarlo (con un controller manuale). ad esempio quando non viene premuto alcun pulsante o solo quando viene premuto un pulsante.
Clic
Puoi fare clic su una posizione o su un oggetto prima evidenziando e poi premendo o rilasciando un pulsante. Con un controller dello sguardo fai clic guardando un oggetto e poi premendo il pulsante o lo schermo. Con un controller manuale, il metodo è puntare su un oggetto e poi fare clic su un pulsante.
Interazioni principali
Usando l'evidenziazione e facendo clic, abbiamo implementato alcune interazioni principali nel WebVR Lab.
Teletrasporto
Quando si crea un ambiente virtuale che un utente può esplorare, è probabile che l'ambiente sia più grande della piccola area che l'utente può vedere senza spostarsi. Il WebVR Lab, ad esempio, ha tre sezioni. Una stanza principale, un soppalco e una laterale per il lettore hi-fi.
Spostare l'area visibile dell'utente attraverso il mondo spesso genera malessere. In WebVR Lab, consentiamo all'utente di evidenziare una località e fare clic per teletrasportarsi all'istante. Il punto di vista dell'utente non si sposta mai e, nonostante la sensazione un po' innaturale di muoversi all'istante, l'utente può muoversi all'interno di un ampio spazio senza fastidi.
Nel caso di un controller manuale, chiediamo all'utente di tenere premuto un pulsante per attivare il teletrasporto. In questo modo la visione dell'utente non è ordinata mentre si guarda intorno.
Spostare il punto di vista dell'utente
A volte è assolutamente necessario spostare il punto di vista. Ad esempio, quando si utilizza la realtà virtuale fissa o seduta, è possibile finire di fronte a un muro senza poter girare nel mondo fisico. Consentiamo all'utente di ruotare la fotocamera usando il controller. In WebVR Lab, utilizzando il pad sinistro o destro del controller Daydream, puoi ruotare la videocamera.
Per evitare fastidi quando spostiamo la videocamera in questo modo, riduciamo la quantità di visione periferica applicando una visione ristretta sulla videocamera. Questo è basato sul lavoro di Ubisoft e abbiamo scoperto che mettere a fuoco solo il centro dello schermo riduce il disagio.
Attiva
L'attivazione è l'equivalente VR del clic su un pulsante in una pagina web. In WebVR Lab, lo abbiamo preso alla lettera e abbiamo fornito un semplice pulsante che può essere attivato.
Per controller 0 DOF e 3 DOF, l'attivazione è un'evidenziazione e un clic. Per un controller DOF 6, possiamo eseguire l'upgrade dell'esperienza per consentirti di premere un pulsante controllando direttamente se all'interno del pulsante si trova il controller manuale.
Grab
Il Lab WebVR contiene una serie di elementi "recuperabili". Con questo comportamento, l'oggetto può essere afferrato e spostato. Esistono due comportamenti evidenti e diversi a seconda del livello di input che vuoi supportare.
Nel caso di 6 controller DOF, tieni premuto un pulsante di ingresso per collegare l'elemento afferrabile al controller. Può quindi essere spostato e posizionato con un controllo granulare. Rilasciando il pulsante verrà attivata un'azione di combinazione o rilascio con l'elemento.
Per i controller meno manovrabili, un clic prenderà l'elemento e lo collegherà all'area visibile dell'utente. In genere mantiene visibile una sezione dell'elemento nel "terzo inferiore" del display. Con un secondo clic l'elemento verrà rilasciato o combinato.
Unisci
"Combina" è un'azione che si verifica quando "utilizzi" un elemento con un altro elemento. Riguarda un'enorme varietà di casi d'uso. Nel WebVR Lab la usiamo per riprodurre le registrazioni nell'Hi-Fi. Quando afferri un articolo, puoi associarlo a un altro. Con tutti i tipi di controller che evidenzia l'elemento di destinazione mentre afferri un altro elemento e poi rilasci il pulsante, i due elementi vengono combinati.
Caduta / Ripristino
Puoi rilasciare un elemento quando fai clic mentre tieni premuto su un elemento afferrato senza alcun altro elemento evidenziato.
Nel WebVR Lab abbiamo mantenuto bassi i requisiti di prestazioni perché non abbiamo utilizzato una simulazione di fisica su nessun elemento. Ciò significa che, invece di far cadere un oggetto a terra, lo consentiamo semplicemente di fluttuare nella posizione in cui è stato lasciato cadere. Dopo che un elemento è stato eliminato, se non viene attivato entro un determinato periodo di tempo, "viene ripristinato" nella sua posizione originale. Questa funzionalità di ripristino consente a un utente con un basso grado di input (0 DOF o 3 DOF) di operare su molti elementi e mantenere un'area di lavoro utilizzabile. Gli elementi meno recenti vengono cancellati automaticamente.
Con 6 input DOF, è più facile spostare gli elementi. Un ritardo nell'operazione di ripristino consente a un utente con 6 DOF di immergersi nello spostamento degli oggetti, ma di facilitare comunque l'autopulenza dell'area.
Riepilogo
WebVR Lab è un progetto in evoluzione del team di PlayCanvas. Ciò significa che è sempre in fase di sviluppo e le esperienze vengono aggiunte e aggiornate man mano che facciamo ulteriori ricerche per creare applicazioni WebVR.
Passa da un'esperienza mobile in stile "finestra magica" a un parco giochi interattivo per computer. Abbiamo iniziato a definire un insieme di interazioni principali che gli utenti possono utilizzare per i propri progetti. Ci auguriamo che WebVR Lab sia una buona esperienza di apprendimento per chiunque voglia creare mondi 3D con WebVR.
Se hai un account PlayCanvas, puoi accedere direttamente al progetto WebVR Lab per scoprire di più.