Conforto
Durante la visualizzazione naturale, il sistema visivo umano si basa su più fonti di informazioni, o "segnali", per interpretare le forme 3D e le posizioni relative degli oggetti. Alcuni segnali si basano solo su un singolo occhio, o segnale monoculare, tra cui:
Altri segnali si basano su entrambi gli occhi, o segnali binoculari, e includono:
- Vergence - essenzialmente le rotazioni relative degli occhi necessarie per guardare un oggetto
- Disparità binoculare - il modello di differenze tra le proiezioni della scena sul retro dei due occhi
Per garantire il massimo comfort sui display montati sulla testa, è importante creare e presentare contenuti in modo da simulare i segnali nel mondo naturale. Dal punto di vista fisico, è anche importante progettare contenuti che non richiedono movimenti faticosi del collo o delle braccia. In questo articolo verranno illustrate le considerazioni chiave da tenere presenti per raggiungere questi obiettivi.
Conflitto tra convergenza e accomodazione
Per visualizzare gli oggetti in modo chiaro, gli esseri umani devono adattarsi, o regolare lo stato attivo degli occhi, alla distanza dell'oggetto. Allo stesso tempo, la rotazione di entrambi gli occhi deve convergere alla distanza dell'oggetto per evitare di visualizzare immagini doppie. Nella visione naturale, la convergenza e l'alloggio sono collegati. Quando vedi qualcosa vicino, ad esempio, una casa vola vicino al naso, i tuoi occhi si incrociano e si adattano a un punto vicino. Al contrario, se si visualizza qualcosa all'infinito ottico (approssimativamente a partire da 6 m o più lontano per la visione normale), le linee di vista degli occhi diventano parallele e le lenti degli occhi si adattano all'infinito.
Nella maggior parte dei display montati sulla testa, gli utenti si adatteranno sempre alla distanza focale del display per ottenere un'immagine nitida, ma convergeranno alla distanza dell'oggetto di interesse per ottenere una singola immagine. Quando gli utenti si adattano e convergono a distanze diverse, il collegamento naturale tra i due segnali viene interrotto, causando disagio visivo o fatica.
Indicazioni per i dispositivi olografici
I display HoloLens sono fissi a una distanza ottica di circa 2,0 m dall'utente. Gli utenti devono sempre ospitare quasi 2,0 m per mantenere un'immagine chiara nel dispositivo. Gli sviluppatori di app possono indicare dove convergono gli occhi degli utenti posizionando contenuto e ologrammi a varie profondità. Il disagio derivante dal conflitto tra convergenza e accomodazione può essere evitato o ridotto al minimo mantenendo il contenuto al quale gli utenti convergono il più vicino possibile a 2,0 m. Ad esempio, in una scena con molta profondità, posizionare le aree di interesse a 2,0 m dall'utente quando possibile. Quando il contenuto non può essere posizionato vicino a 2,0 m, il disagio derivante dal conflitto tra convergenza e accomodazione è maggiore quando lo sguardo dell'utente passa avanti e indietro tra distanze diverse. In altre parole, è molto più comodo guardare un ologramma fisso che rimane a 50 cm di distanza rispetto a guardare un ologramma di 50 cm di distanza che si sposta verso e lontano da te nel tempo.
Distanza ottimale per l'inserimento di ologrammi dall'utente
Procedure consigliate per HoloLens (prima generazione) e HoloLens 2
Per il massimo comfort, la zona ottimale per il posizionamento degli ologrammi è compresa tra 1,25 m e 5 m. In ogni caso, i progettisti devono tentare di strutturare le scene di contenuto per incoraggiare gli utenti a interagire a 1 m o più lontano dal contenuto (ad esempio, modificare le dimensioni del contenuto e i parametri di posizionamento predefiniti).
Anche se il contenuto può occasionalmente dover essere visualizzato più vicino a 1 m, è consigliabile non presentare mai ologrammi più vicini a 40 cm. Pertanto, è consigliabile iniziare a dissolvere il contenuto a 40 cm e posizionare un piano di ritaglio del rendering a 30 cm per evitare oggetti più vicini.
Gli oggetti che si muovono in profondità sono più propensi degli oggetti stazionari a produrre disagio a causa del conflitto tra convergenza e accomodazione. Analogamente, richiedere agli utenti di passare rapidamente dalla messa a fuoco quasi attiva a quella diretta (ad esempio, a causa di un ologramma popup che richiede l'interazione diretta) può causare disagio visivo e affaticamento. È necessario prestare particolare attenzione per ridurre al minimo la frequenza con cui gli utenti sono: visualizzazione del contenuto che si sta spostando in profondità o passaggio rapido dello stato attivo tra ologrammi vicini e lontani.
Altre considerazioni per HoloLens 2 e distanze di interazione quasi
Quando si progetta il contenuto per l'interazione diretta (quasi) in HoloLens 2 o in qualsiasi applicazione in cui il contenuto deve essere posizionato più vicino a 1 m, è necessario prestare maggiore attenzione per garantire il comfort dell'utente. Le probabilità di disagio dovute al conflitto di convergenza-accomodazione aumentano in modo esponenziale con la riduzione della distanza di visualizzazione. Inoltre, gli utenti potrebbero riscontrare una maggiore sfocatura quando si visualizza il contenuto a distanze di interazione quasi vicine, quindi è consigliabile testare il rendering del contenuto sia all'interno della zona di posizionamento ologramma ottimale che più vicino (meno di 1,0 m verso il piano di ritaglio) per garantire che rimanga chiaro e confortevole da visualizzare.
È consigliabile creare un "budget di profondità" per le app in base alla quantità di tempo in cui un utente dovrebbe visualizzare il contenuto vicino (meno di 1,0 m) e spostarsi in profondità. Un esempio consiste nell'evitare di inserire l'utente in tali situazioni più del 25% del tempo. Se il budget di profondità viene superato, è consigliabile eseguire un attento test utente per garantire che rimanga un'esperienza confortevole.
In generale, è anche consigliabile eseguire test accurati per garantire che eventuali requisiti di interazione (ad esempio, velocità di movimento, raggiungibilità e così via) a distanze di interazione quasi elevate rimangano a proprio agio per gli utenti.
Linee guida per i dispositivi immersive
Per i dispositivi immersive, si applicano ancora le indicazioni e le procedure consigliate per HoloLens, ma i valori specifici per la zona di comfort vengono spostati a seconda della distanza focale rispetto allo schermo. In generale, le distanze focali per questi schermi sono comprese tra 1,25m-2,5m. In caso di dubbi, evitare di eseguire il rendering di oggetti di interesse troppo vicini agli utenti e cercare invece di mantenere la maggior parte dei contenuti a 1 m o più lontano.
Distanza interpupillaria e offset verticale
Quando si visualizzano contenuti digitali su schermi montati sulla testa (HMD), la posizione degli occhi di un visualizzatore in base alla posizione di visualizzazione del contenuto digitale è fondamentale. In particolare, sia la distanza interpupillaria (IPD) che l'offset verticale (VO) sono importanti per una visualizzazione confortevole del contenuto digitale negli HMD.
L'IPD si riferisce alla distanza tra gli alunni, o centri, degli occhi di un individuo. VO si riferisce al potenziale offset verticale del contenuto digitale mostrato a ogni occhio rispetto all'asse orizzontale degli occhi dello spettatore (in particolare, non è lo stesso dell'offset orizzontale o disparità binoculare). La mancata corrispondenza di uno o entrambi questi fattori con un singolo utente può peggiorare gli effetti del disagio causato dal conflitto tra convergenza e accomodazione, ma può anche causare disagio quando il conflitto V-A è ridotto al minimo (ad esempio, per il contenuto visualizzato alla distanza focale di 2,0 m di HoloLens).
Indicazioni per i dispositivi olografici
HoloLens (prima generazione)
Per HoloLens (prima generazione), l'IPD viene stimato e impostato durante la calibrazione del dispositivo. Per i nuovi utenti in un dispositivo già configurato, la calibrazione deve essere eseguita o l'IPD deve essere impostato manualmente. Vo dipende interamente dalla misura del dispositivo. In particolare, per ridurre al minimo il VO, il dispositivo deve essere appoggiato sulla testa di un utente in modo che i display siano allineati all'asse dei suoi occhi.
HoloLens 2
Per HoloLens 2, l'IPD viene stimato e impostato durante la calibrazione oculare/dispositivo. Per i nuovi utenti in un dispositivo già configurato, è necessario eseguire la calibrazione per assicurarsi che l'ID IP sia impostato correttamente. Vo viene eseguita automaticamente in HoloLens 2.
Linee guida per i dispositivi immersive
Windows Mixed Reality HMD immersivi non hanno calibrazione automatica per IPD o VO. L'IPD può essere impostato manualmente nel software (in Realtà mista impostazioni del portale, vedere calibrazione) o alcuni dischi rigidi rigidi hanno un dispositivo di scorrimento meccanico che consente all'utente di regolare la spaziatura delle lenti in una posizione comoda che corrisponde approssimativamente al proprio IPD.
Velocità di rendering
Le app di realtà mista sono uniche perché gli utenti possono muoversi liberamente nel mondo e interagire con contenuti virtuali come se fossero oggetti reali. Per mantenere questa impressione, è fondamentale eseguire il rendering degli ologrammi in modo che appaiano stabili nel mondo e si animano senza problemi. Il rendering di almeno 60 fotogrammi al secondo (FPS) consente di raggiungere questo obiettivo. Esistono alcuni dispositivi Realtà mista che supportano il rendering con framerate superiori a 60 FPS e per questi dispositivi è consigliabile eseguire il rendering con framerate superiori per offrire un'esperienza utente ottimale.
Immersione più profonda
Per disegnare gli ologrammi per l'aspetto, come se fossero stabili nel mondo reale o virtuale, le app devono eseguire il rendering delle immagini dalla posizione dell'utente. Poiché il rendering delle immagini richiede tempo, HoloLens e altri dispositivi Windows Mixed Reality prevedono dove si troverà la testa di un utente quando le immagini vengono visualizzate nei display. Questo algoritmo di stima è un'approssimazione. Windows Mixed Reality algoritmi e hardware regolano l'immagine sottoposta a rendering in modo da tenere conto della discrepanza tra la posizione della testa stimata e la posizione effettiva della testa. Questo processo rende l'immagine visualizzata dall'utente come se fosse stata sottoposta a rendering dalla posizione corretta e gli ologrammi si sentono stabili. Gli aggiornamenti funzionano meglio per le piccole modifiche nella posizione della testa e non possono tenere completamente conto di alcune differenze di immagine di cui è stato eseguito il rendering, come quelle causate dal movimento-parallasse.
Eseguendo il rendering con una frequenza di fotogrammi minima di 60 FPS, si stanno eseguendo due operazioni per creare ologrammi stabili:
- Riduzione dell'aspetto del judder, caratterizzato da movimento irregolare e doppie immagini. Movimenti ologrammi più veloci e velocità di rendering inferiori sono associati a judder più pronunciato. Pertanto, sforzarsi di mantenere sempre 60 FPS (o la velocità di rendering massima del dispositivo) aiuterà a evitare judder per lo spostamento di ologrammi.
- Riduzione al minimo della latenza complessiva. In un motore con un thread di gioco e un thread di rendering in esecuzione in lockstep, l'esecuzione a 30FPS può aggiungere 33,3 ms di latenza aggiuntiva. Riducendo la latenza, si riduce l'errore di stima e si aumenta la stabilità degli ologrammi.
Analisi delle prestazioni
Esistono diversi strumenti che possono essere usati per eseguire il benchmark della frequenza dei fotogrammi dell'applicazione, ad esempio:
- GPUView
- Debugger della grafica di Visual Studio
- Profiler integrati nei motori 3D, ad esempio Frame Debugger in Unity
Movimento automatico e locomozione utente
L'unica limitazione è la dimensione dello spazio fisico; se si vuole consentire agli utenti di spostarsi più lontano nell'ambiente virtuale di quanto possano fare nelle loro stanze reali, è necessario implementare una forma di movimento puramente virtuale. Tuttavia, il movimento virtuale sostenuto che non corrisponde al movimento fisico reale dell'utente può spesso causare mal di movimento. Questo risultato è dovuto al fatto che i segnali visivi per l'auto-movimento dal mondo virtuale sono in conflitto con i segnali vestibolari per l'auto-movimento provenienti dal mondo reale.
Fortunatamente, sono disponibili suggerimenti per l'implementazione della locomozione degli utenti che consentono di evitare il problema:
- Mettere sempre l'utente in controllo dei propri movimenti; movimento automatico imprevisto è problematico
- Gli esseri umani sono sensibili alla direzione della gravità. Pertanto, è consigliabile evitare in particolare i movimenti verticali non avviati dall'utente.
Indicazioni per i dispositivi olografici
Un metodo per consentire all'utente di spostarsi in un'altra posizione in un ambiente virtuale di grandi dimensioni consiste nel dare l'impressione di spostare un piccolo oggetto nella scena. Questo effetto può essere ottenuto come segue:
- Fornire un'interfaccia in cui l'utente può selezionare un punto nell'ambiente virtuale in cui si vuole spostare.
- Al momento della selezione, compattare il rendering della scena su un disco intorno al punto desiderato.
- Mantenendo selezionato il punto, consentire all'utente di spostarlo come se fosse un oggetto di piccole dimensioni. L'utente può quindi spostare la selezione vicino ai piedi.
- Dopo la deselezione, riprendere il rendering dell'intera scena.
Linee guida per i dispositivi immersive
L'approccio al dispositivo olografico precedente non funziona altrettanto bene in un dispositivo immersivo perché richiede all'app di eseguire il rendering di un vuoto nero di grandi dimensioni o di un altro ambiente predefinito durante lo spostamento del "disco". Questo trattamento sconvolge il senso di immersione. Un trucco per la locomozione dell'utente in un visore vr immersivo è l'approccio "lampeggiante". Questa implementazione fornisce all'utente il controllo sul movimento e dà una breve impressione del movimento, ma lo rende così breve che l'utente è meno propenso a sentirsi disorientato dal movimento automatico puramente virtuale:
- Fornire un'interfaccia in cui l'utente può selezionare un punto nell'ambiente virtuale in cui si vuole spostare.
- Al momento della selezione, inizia un rapido movimento simulato (100 m/s) verso tale posizione, sbiadendo rapidamente il rendering.
- Dissolvenza del rendering dopo aver completato la traduzione.
Visualizzazioni a testa in alto
Nei videogiochi sparatutto in prima persona, i display di teste (HUD) presentano continuamente informazioni come la salute dei giocatori, le mini-mappe e gli inventari direttamente sullo schermo. HUD funziona bene per tenere informato il giocatore senza intromettersi nell'esperienza di gioco. Nelle esperienze di realtà mista, gli HUD hanno il potenziale per causare disagio significativo e devono essere adattati al contesto più immersivo. In particolare, gli HUD che sono rigidamente bloccati all'orientamento della testa dell'utente potrebbero causare disagio. Se un'app richiede un HUD, è consigliabile bloccare il corpo anziché il blocco della testa. Questo trattamento può essere implementato come un set di display che si traducono immediatamente con l'utente, ma non ruotano con la testa dell'utente fino a quando non viene raggiunta una soglia di rotazione. Una volta ottenuta tale rotazione, l'HUD può riorientare per presentare le informazioni all'interno del campo visivo dell'utente. Evitare di implementare la rotazione e la traduzione dell'HUD 1:1 in base ai movimenti della testa dell'utente.
Leggibilità del testo
La leggibilità ottimale del testo può contribuire a ridurre l'affaticamento degli occhi e a mantenere il comfort dell'utente, soprattutto in applicazioni o scenari che richiedono agli utenti di leggere durante l'uso di un HMD. La leggibilità del testo dipende da vari fattori, tra cui:
- Visualizzare proprietà quali densità di pixel, luminosità e contrasto.
- Proprietà delle lenti come l'aberrazione cromatica
- Proprietà di testo/carattere, ad esempio spessore, spaziatura, serifs e colore di carattere/sfondo.
In generale, è consigliabile testare applicazioni specifiche per la leggibilità e rendere le dimensioni dei caratteri il più grandi possibile per un'esperienza confortevole. Le linee guida più dettagliate per i dispositivi olografici e immersive sono disponibili nelle pagine Tipografia e Testo in Unity .
Considerazioni sul frame olografico
Per le esperienze di realtà mista con oggetti di grandi dimensioni o molti oggetti, è fondamentale considerare quanto movimento della testa e del collo è necessario per interagire con il contenuto. Le esperienze possono essere suddivise in tre categorie in termini di movimento della testa:
- Orizzontale (da un lato all'altro)
- Verticale (su e giù)
- Immersiva (sia orizzontale che verticale)
Quando possibile, limitare la maggior parte delle interazioni a categorie orizzontali o verticali, idealmente con la maggior parte delle esperienze che si verificano al centro della cornice olografica mentre la testa dell'utente si trova in una posizione neutra. Evitare interazioni che fanno sì che l'utente sposti costantemente la visualizzazione in una posizione innaturale della testa (ad esempio, cercando sempre di accedere a un'interazione con un menu chiave).
L'area ottimale per il contenuto è da 0 gradi a 35 gradi sotto l'orizzonte
Lo spostamento orizzontale della testa è più adatto alle interazioni frequenti, mentre i movimenti verticali devono essere riservati agli eventi non comuni. Ad esempio, un'esperienza che coinvolge una sequenza temporale orizzontale lunga dovrebbe limitare lo spostamento verticale della testa per le interazioni ,ad esempio guardando verso il basso un menu.
È consigliabile incoraggiare il movimento a tutto corpo, anziché semplicemente il movimento della testa, posizionando gli oggetti intorno allo spazio dell'utente. Le esperienze con oggetti in movimento o oggetti di grandi dimensioni devono prestare particolare attenzione al movimento della testa, soprattutto quando richiedono spostamenti frequenti lungo gli assi orizzontale e verticale.
Direzione dello sguardo fisso
Per evitare affaticamento degli occhi e del collo, il contenuto deve essere progettato in modo da evitare movimenti eccessivi dell'occhio e del collo.
- Evitare angoli di sguardo superiore a 10 gradi sopra l'orizzonte (movimento verticale)
- Evitare angoli di sguardo più di 60 gradi sotto l'orizzonte (movimento verticale)
- Evitare rotazioni del collo superiori a 45 gradi al centro (movimento orizzontale)
L'angolo di sguardo ottimale (a riposo) è considerato tra 10-20 gradi sotto l'orizzonte, in quanto la testa tende a inclinarsi leggermente verso il basso, soprattutto durante le attività.
Posizioni del braccio
L'affaticamento muscolare può accumularsi quando si prevede che gli utenti mantengano una mano alzata per tutta la durata di un'esperienza. Può anche essere complicato richiedere all'utente di effettuare ripetutamente movimenti di tocco aria per lunghi periodi. È quindi consigliabile evitare di richiedere un input di movimento costante e ripetuto. Questo obiettivo può essere raggiunto incorporando brevi interruzioni o offrendo una combinazione di movimento e input vocale per interagire con l'app.