L'ingresso nella realtà virtuale

Tra il silicio e il cartone

di

thumbnail

15

nov

2016

Quali caratteristiche deve avere oggi uno smartphone per poter essere considerato all’altezza di un’app di realtà virtuale.

Le differenze fra i dispositivi VR per sistemi portatili e sistemi desktop si assottigliano e, se dobbiamo scegliere un nuovo smartphone senza trascurare l’opzione VR, esistono alcuni punti critici ai quali porre attenzione.

A parte la presenza di giroscopio/magnetometro, presenti ormai in quasi tutti i dispositivi, non esistono particolari requisiti tecnici vincolanti per determinare se uno smartphone sia in grado o meno di eseguire applicazioni VR: se esso è capace di renderizzare una scena multimediale o eseguire un video, allora è in grado di eseguire applicazioni di realtà virtuale; stiamo quindi praticamente parlando di tutti i modelli recenti. L’esperienza d’uso, tuttavia, è invece fortemente vincolata da alcune caratteristiche del dispositivo.

Controllo qualità

Uno dei grossi problemi del mercato delle applicazioni Cardboard – e che sistemi integrati come Gear VR e DayDream provano a superare – è infatti la mancata possibilità di garantire una certa qualità lato utente. Filtrando i dispositivi abilitati all’utilizzo dell’applicazione secondo le metodologie proposte dal Play Store, non c’è infatti possibilità di controllo puntuale su tutti i parametri del sistema VR. Ma vediamo insieme quali sono i principali:

  • Dimensioni e forma del display: larghezza, altezza, curvatura e aspect ratio. Deve essere tutto bilanciato col visore/Cardboard, ma diciamo che quelli che prima chiamavamo phablet ed ora semplicemente smartphone sono OK.
  • DPI (dot-per-inch) del display: densità, forma e dimensione dei pixel. Dovremmo restare sopra i 400 dpi per ottenere una esperienza raccomandabile.
  • Capacità di calcolo e risorse disponibili: per quanto non obbligatorio, è necessario mantenersi stabilmente sui 60 frame al secondo (il massimo consentito dalla stragrande maggioranza dei display) per non rovinare l’esperienza d’uso. È anche possibile limitarsi a 30 frame al secondo purché stabili, aggiungendo un qualche meccanismo di interpolazione immagine fornito ai programmatori dagli SDK. È una questione software: è necessario lavorare sulla complessità della scena ed ottimizzare il tutto in base alla capacità del dispositivo ed alle risorse disponibili.
  • Qualità delle lenti e del visore: esistono centinaia di Cardboard diversi, alcuni migliori di altri. Il casco Gear VR ed il nuovo Google Daydream View sono sistemi integrati che si accoppiano solo con una manciata di smartphone e quindi, giocando in casa, la qualità del risultato può essere garantita.

Non essendo digitalmente collegato allo smartphone, Cardboard è fondamentalmente un semplice sistema passivo, il massimo comune denominatore di tutti i sistemi per creare app VR. Secondo la versione, può esistere o meno un diverso meccanismo di input. Nella prima versione è una calamita che sollecita il magnetometro, nella seconda è una leva in cartone che tocca lo schermo in un punto fisso, ma rinunciando al pulsante tutto ciò che serve all’applicazione è conoscere i dettagli fisici del visore utilizzato (comunicato attraverso un QR code generato online) più un giroscopio, e si ha tutto l’occorrente per far girare l’app.

Ci pensa l’SDK

Il funzionamento è semplice: attraverso il giroscopio, il magnetometro ed i parametri costruttivi del Cardboard (come il posizionamento dello smartphone rispetto agli occhi), un algoritmo calcola l’orientamento della testa dell’utente nello spazio e comunica questa informazione tramite l’SDK alla nostra app, la quale dovrà generare il contenuto da mostrare sul display. Una volta prodotto il frame, questo verrà modificato ed adattato (sempre grazie ad alcune funzioni contenute nell’SDK) per adattare l’immagine alla configurazione ottica del visore. In pratica la logica della nostra app diventa un middleware nell’SDK del Cardboard. I controlli all’interno dell’app, se non vogliamo utilizzare il pulsante magnetico o la leva touch, sono limitati all’orientamento dello sguardo verso un punto virtuale (gaze input).

Daydream

Con Daydream, Google punta sul mercato dei visori per la realtà virtuale.

L’output può essere stereografico (visualizzazione differente per occhio destro e sinistro) o meno. Nel primo caso l’applicazione dovrà essere in grado di generare una coppia di frame differenti e coerenti con la simulazione della distanza interpupillare dell’utente all’interno della scena virtuale (l’SDK ci viene in aiuto), altrimenti potrà semplicemente visualizzare la stessa immagine per entrambi gli occhi, sacrificando profondità in favore di performance più elevate. È infatti necessario garantire un frame rate sufficientemente alto ed una latenza tra input e feedback (feedback latency) entro un certo limite (10-11 millisecondi) per non incappare in fenomeni di ghosting (permanenza eccessiva delle immagini) e stuttering (movimento a scatti) che molto facilmente causano sensazioni di malessere, nausea (simulation sickness) e di conseguenza una cattiva esperienza con la nostra app.

Questo è un rapido riassunto dei punti principali per Carboard – e quindi comuni agli altri sistemi – da tenere in conto prima di avventurarsi nello slalom gigante tra i paletti imposti dalle linee guida per Gear VR (e chissà quali per Daydream). Cardboard è un sistema semplice, molto semplice, ma accessibile a tutti.

Nel prossimo articolo parlerò di VR per sistemi desktop e di come e perché sia tutta un’altra storia.




Giacomo Cappellini (@Arkanoid) è da cinque anni analista programmatore e tool-maker di applicazioni per smartphone e tablet, da dieci anni deviato nel multidisciplinare mondo dello sviluppo di videogiochi cross-platform. Nonostante una grave e particolare forma di ossessione verso lo how-it’s-done, trova ancora tempo e modo per parlarne.

Letto 1.420 volte | Tag: , , ,

Lascia il tuo commento