Tracciamento oculare in HoloLens 2
HoloLens 2 consente un nuovo livello di contesto e comprensione umana all'interno dell'esperienza olografica offrendo agli sviluppatori la possibilità di usare informazioni su ciò che l'utente sta esaminando. Questa pagina illustra come gli sviluppatori possono trarre vantaggio dal tracciamento oculare per vari casi d'uso e cosa cercare quando si progettano interazioni utente basate sullo sguardo fisso.
L'API Tracciamento oculare è stata progettata tenendo conto della privacy di un utente; evita il passaggio di informazioni identificabili, in particolare qualsiasi biometria. Per le applicazioni con funzionalità di tracciamento oculare, l'utente deve concedere all'app l'autorizzazione per l'uso delle informazioni di tracciamento oculare.
Supporto di dispositivi
Funzionalità | HoloLens (prima generazione) | HoloLens 2 | Visori VR immersive |
Sguardo fisso | ❌ | ✔️ | ❌ |
Demo dei concetti relativi alla progettazione del tracciamento oculare e della testa
Per visualizzare i concetti di progettazione head e tracciamento oculare in azione, vedere la demo video Progettazione di ologrammi - Tracciamento testa e tracciamento oculare di seguito. Al termine, continuare per un approfondimento più dettagliato su argomenti specifici.
Questo video è stato tratto dall'app "Progettazione di ologrammi" HoloLens 2. Scarica e goditi l'esperienza completa qui.
Calibrazione
Per il corretto funzionamento del tracciamento oculare, ogni utente deve eseguire una calibrazione utente di tracciamento oculare per la quale l'utente deve esaminare un set di destinazioni olografiche. Ciò consente al dispositivo di regolare il sistema, ottenendo un'esperienza di visualizzazione più confortevole e di qualità superiore per l'utente e garantendo al tempo stesso un tracciamento oculare accurato.
Il tracciamento oculare dovrebbe funzionare per la maggior parte degli utenti, ma ci sono rari casi in cui un utente non può calibrare correttamente. La calibrazione potrebbe non riuscire per vari motivi, tra cui:
- L'utente ha precedentemente rifiutato esplicitamente il processo di calibrazione.
- L'utente si è distratto e non ha seguito gli obiettivi di calibrazione.
- L'utente dispone di determinati tipi di lenti a contatto e occhiali che il sistema non supporta ancora.
- L'utente ha determinate condizioni di fisiologica o oculare o ha avuto un intervento chirurgico oculare, che il sistema non supporta ancora.
- Fattori esterni che impediscono il tracciamento oculare affidabile, ad esempio sfughe sulla visiera HoloLens o occhiali, luce solare diretta intensa e occlusioni a causa dei capelli davanti agli occhi.
Gli sviluppatori devono assicurarsi di fornire un supporto adeguato per gli utenti per i quali i dati di tracciamento oculare potrebbero non essere disponibili (che non sono in grado di calibrare correttamente). Sono stati forniti suggerimenti per le soluzioni di fallback nella sezione nella parte inferiore di questa pagina.
Per altre informazioni sulla calibrazione e su come garantire un'esperienza fluida, vedere la pagina di calibrazione utente di tracciamento oculare .
Dati di tracciamento oculare disponibili
Il tracciamento oculare su HoloLens 2 consente agli sviluppatori di progettare scenari di input e interazione naturali e intuitivi. L'API Tracciamento oculare fornisce informazioni su ciò che l'utente sta guardando come un singolo raggio sguardo fisso (origine e direzione dello sguardo fisso) a circa 30 FPS (30 Hz). Per un accurato funzionamento del tracciamento oculare, ogni utente deve essere sottoposto a un'apposita calibrazione. Per informazioni più dettagliate su come accedere ai dati di tracciamento oculare, vedere le guide per sviluppatori per l'uso dello sguardo fisso in DirectX e sguardo fisso in Unity.
Lo sguardo fisso stimato è di circa 1,5 gradi nell'angolo visivo intorno alla destinazione effettiva (vedere la figura seguente). Sono previste lievi inesattezze, quindi gli sviluppatori dovrebbero pianificare un margine intorno a questo valore inferiore (ad esempio, 2,0-3,0 gradi potrebbero comportare un'esperienza molto più confortevole). Di seguito verrà illustrato come gestire la selezione di destinazioni di piccole dimensioni.
Dimensioni ottimali della destinazione a una distanza di 2 metri
Dati di tracciamento oculare esteso
Le API di tracciamento oculare esteso consentono agli sviluppatori di sbloccare il livello successivo di scenari innovativi, ad esempio la valutazione della salute, il monitoraggio e la terapia fornendo informazioni più dettagliate sullo sguardo fisso dell'utente.
Le API di tracciamento oculare esteso consentono di accedere ai valori di tracciamento oculare esistenti e alle nuove funzionalità, ad esempio singoli vettori di sguardo fisso (sinistro e destro), frequenza dei fotogrammi supportata e la possibilità di impostare la frequenza dei fotogrammi di tracciamento oculare su 30, 60 o 90fps. Per usare l'API Tracciamento oculare esteso, vedere le guide per sviluppatori per l'uso delle API di tracciamento oculare esteso per native o Unity.
Casi d'uso
Il tracciamento oculare consente alle applicazioni di tenere traccia di dove guarda l'utente in tempo reale. I casi d'uso seguenti descrivono alcune interazioni possibili con il tracciamento oculare su HoloLens 2 in realtà mista. Questi casi d'uso non fanno ancora parte dell'esperienza Holographic Shell (l'interfaccia visualizzata all'avvio del HoloLens 2). È possibile provare alcuni di essi in Realtà mista Toolkit. Il Toolkit offre diversi esempi interessanti e potenti per l'uso del tracciamento oculare, ad esempio selezioni di destinazione rapide e facili da visualizzare e scorrere automaticamente il testo in base a ciò che l'utente guarda.
Operazione che l'utente intende eseguire
Informazioni su dove e cosa un utente esamina fornisce un contesto potente per altri input, ad esempio voce, mani e controller. Tali informazioni possono essere usate per diverse attività. Ad esempio, l'utente può puntare rapidamente e senza sforzo attraverso la scena guardando un ologramma e dicendo "select" (vedi anche sguardo fisso e commit) o "put this...", e quindi guardare dove vogliono posizionare l'ologramma e dire "... lì". Per alcuni esempi, vedi Mixed Reality Toolkit - Selezione della destinazione con lo sguardo e Mixed Reality Toolkit - Posizionamento della destinazione con lo sguardo.
Inoltre, un esempio per la finalità dell'utente può includere l'uso di informazioni su ciò che gli utenti esaminano per migliorare l'engagement con gli agenti virtuali incorporati e gli ologrammi interattivi. Ad esempio, gli agenti virtuali potrebbero adattare le opzioni disponibili e il relativo comportamento, in base al contenuto attualmente visualizzato.
Azioni implicite
La categoria delle azioni implicite è strettamente correlata all'intenzione dell'utente. L'idea è che gli ologrammi o gli elementi dell'interfaccia utente reagiscono in modo istintivo che potrebbe non sembrare che l'utente interagisca affatto con il sistema, ma piuttosto che il sistema e l'utente siano sincronizzati. Un esempio è lo scorrimento automatico basato sullo sguardo fisso , in cui l'utente può leggere un testo lungo che inizia automaticamente lo scorrimento quando l'utente raggiunge la parte inferiore della casella di testo. Ciò mantiene l'utente nel flusso di lettura senza sollevare un dito. Un aspetto fondamentale di questo è che la velocità di scorrimento si adatta alla velocità di lettura dell'utente.
Un altro esempio è lo zoom e la panoramica supportati dagli occhi, in cui l'utente può sentirsi come se si immergessero esattamente verso quello su cui si è concentrati.
L'attivazione e il controllo della velocità di zoom possono essere controllati dalla voce o dall'input della mano, che è importante per fornire all'utente la sensazione di controllo evitando di essere sopraffatti. Queste considerazioni sulla progettazione verranno illustrate in modo più dettagliato di seguito. Una volta ingrandita, l'utente può seguire senza problemi, ad esempio, il corso di una strada per esplorare il suo quartiere usando lo sguardo fisso. Alcune demo di esempio per questi tipi di interazioni sono disponibili in Mixed Reality Toolkit - Navigazione con gli occhi.
Altri casi d'uso per le azioni implicite possono includere:
- Notifiche intelligenti: Mai ti infastidise dalle notifiche che spuntano proprio nel mezzo della tua visualizzazione? È possibile migliorare questa esperienza sfalsando le notifiche dalla posizione in cui l'utente sta attualmente visualizzando. Questo limita le distrazioni e le ignora automaticamente al termine della lettura dell'utente.
- Ologrammi attenti: Si tratta di ologrammi che reagiscono in modo sottile quando vengono guardano. Questo può variare da elementi dell'interfaccia utente leggermente incandescente a un fiore a fiore a fiore lento fino a un cane virtuale che inizia a guardare indietro l'utente e wagging la coda. Questa interazione può offrire un'interessante sensazione di connettività e soddisfazione nell'applicazione.
Tracciamento dell'attenzione
Informazioni su dove o cosa gli utenti osservano possono essere uno strumento estremamente potente. Consente di valutare l'usabilità delle progettazioni e identificare i problemi nei flussi di lavoro per renderli più efficienti. La visualizzazione e l'analisi del tracciamento oculare sono una pratica comune in varie aree dell'applicazione. Con HoloLens 2, forniamo una nuova dimensione per questa comprensione; gli ologrammi 3D possono essere inseriti in contesti reali e valutati di conseguenza.
Il toolkit Realtà mista fornisce esempi di base per la registrazione e il caricamento dei dati di tracciamento oculare e su come visualizzarli.
Microsoft è dedicato a facilitare l'innovazione garantendo agli utenti un'esperienza informata e trasparente con il modo in cui vengono usate le informazioni sul tracciamento oculare. Continueremo a collaborare con gli sviluppatori e i team dell'esperienza utente per fornire indicazioni per terze parti per garantire che le esperienze siano incentrate sull'utente.
Di seguito sono riportate altre applicazioni in questo settore:
- Visualizzazione dello sguardo fisso remoto: Visualizzare quali collaboratori remoti stanno esaminando. Ciò può fornire feedback immediato e facilitare l'elaborazione più accurata delle informazioni.
- Studi di ricerca degli utenti: Il rilevamento dell'attenzione può fornire informazioni dettagliate sul modo in cui gli utenti percepiscono e interagiscono con l'ambiente naturale senza interferire. Ciò può aiutare gli sviluppatori a progettare interazioni più istintive tra l'uomo e il computer. Il tracciamento oculare può fornire informazioni che non sono direttamente articolate dai partecipanti allo studio e possono essere facilmente perse dal ricercatore.
- Training e monitoraggio delle prestazioni: Esercitarsi e ottimizzare l'esecuzione delle attività identificando i colli di bottiglia in modo più efficace nel flusso di esecuzione. Il tracciamento oculare può fornire informazioni naturali, in tempo reale e oggettive per migliorare la formazione, la produttività e la sicurezza sul posto di lavoro.
- Valutazioni di progettazione, marketing e ricerca consumer: Il tracciamento oculare consente alle aziende commerciali di eseguire studi di marketing e consumer in ambienti reali o di analizzare ciò che cattura l'attenzione di un utente per migliorare la progettazione di prodotti o spazi.
Altri casi d'uso
- Gioco: Hai mai voluto avere superpotenze? Ora hai questa opportunità.
È possibile levitare gli ologrammi fissandoli.
Sparare raggi laser dai tuoi occhi- provarlo in RoboRaid per HoloLens 2.
Trasforma i nemici in pietra o li congela.
oppure usare la tua vista a raggi x per esplorare l'interno degli edifici.
Insomma, con la tua immaginazione potrai superare ogni ostacolo. Attenzione però a non sovraccaricare l'utente. Per altre informazioni, vedere le linee guida per la progettazione dell'input basato sullo sguardo fisso.
Avatar espressivi: Il tracciamento oculare aiuta gli avatar 3D più espressivi usando i dati di tracciamento oculare live per animare gli occhi dell'avatar e farli seguire ciò che l'utente sta guardando.
Voce di testo: Il tracciamento oculare può essere usato come alternativa per l'immissione di testo a basso sforzo, soprattutto quando la voce o le mani sono scomode da usare.
Uso dello sguardo fisso per l'interazione
La creazione di un'interazione che sfrutta la selezione rapida degli occhi può essere complessa. Poiché gli occhi possono muoversi rapidamente, se non si è attenti a come usare l'input sguardo fisso, gli utenti potrebbero trovare l'esperienza travolgente o distratti. Ma questo vale la pena la sfida perché il tracciamento oculare ti permette di creare esperienze veramente magiche che eccitano i tuoi utenti! Per aiutarti, consulta la nostra panoramica dei vantaggi principali, delle sfide e delle raccomandazioni di progettazione per l'interazione con sguardo fisso.
Soluzioni di fallback quando il tracciamento oculare non è disponibile
In rari casi, i dati di tracciamento oculare potrebbero non essere disponibili. Questa situazione può verificarsi per diversi motivi: di seguito sono elencati i più comuni:
- Il sistema non è riuscito a calibrare l'utente.
- L'utente ha ignorato la calibrazione.
- L'utente è calibrato, ma ha deciso di non concedere all'app l'autorizzazione a usare i dati di tracciamento oculare.
- L'utente ha occhiali univoci o alcune condizioni oculari che il sistema non supporta ancora.
- Fattori esterni che impediscono il tracciamento oculare affidabile, come le smudture sulla visiera holoLens o gli occhiali, la luce solare diretta intensa e le occlusioni a causa dei capelli davanti agli occhi.
Gli sviluppatori devono assicurarsi che sia disponibile il supporto di fallback appropriato per questi utenti. Nella pagina Tracciamento oculare in DirectX vengono illustrate le API necessarie per rilevare se i dati di tracciamento oculare sono disponibili.
Alcuni utenti possono decidere che una maggiore privacy è più importante per loro rispetto all'esperienza migliorata che il tracciamento oculare può fornire, in modo da revocare intenzionalmente l'accesso ai dati di tracciamento oculare. Tuttavia, in alcuni casi questa revoca potrebbe non essere intenzionale. Se l'app usa il tracciamento oculare e questa è una parte importante dell'esperienza, ti consigliamo di comunicare chiaramente questo aspetto all'utente. Spiegare all'utente in che modo il tracciamento oculare sblocca il potenziale completo dell'applicazione può aiutarli a capire meglio cosa stanno rinunciando. Se il tracciamento oculare è attivato ma non funziona, aiutare l'utente a identificare e risolvere il problema usando l'elenco di controllo precedente come guida. Ad esempio, se è possibile rilevare che il sistema supporta il tracciamento oculare e l'utente è calibrato e ha concesso l'autorizzazione, ma non vengono ricevuti dati di tracciamento oculare, questo può puntare a problemi come le smudture o gli occhi che vengono occlusi.
Ci sono rari casi in cui il tracciamento oculare non funziona solo per qualcuno e non c'è motivo ovvio. Essere rispettosi di ciò consentendo all'utente di ignorare o disabilitare i promemoria per abilitare il tracciamento oculare nell'app.
Fallback per le app che usano lo sguardo fisso come puntatore di input primario
Se l'app usa lo sguardo fisso come input del puntatore per selezionare rapidamente gli ologrammi nella scena, ma i dati di tracciamento oculare non sono disponibili, è consigliabile tornare allo sguardo fisso e visualizzare il cursore puntamento della testa. È consigliabile usare un timeout ,ad esempio 500-1500 ms, per determinare se passare o meno. Questa azione impedisce la visualizzazione dei cursori ogni volta che il sistema può perdere brevemente il rilevamento a causa di movimenti oculari veloci o wink e lampeggiamenti. Se si è uno sviluppatore Unity, il fallback automatico allo sguardo fisso è già gestito in Realtà mista Toolkit. Gli sviluppatori DirectX devono gestire manualmente questa opzione.
Fallback per altre applicazioni specifiche per il tracciamento oculare
L'app può usare lo sguardo fisso in modo univoco, appositamente personalizzato per gli occhi, ad esempio animando gli occhi di un avatar o le mappe grafiche di attenzione basate sugli occhi che si basano su informazioni precise sull'attenzione visiva. In questo tipo di caso, non esiste un fallback chiaro. Se il tracciamento oculare non è disponibile, potrebbe essere necessario disabilitare queste funzionalità. Anche in questo caso, è consigliabile comunicare chiaramente questo valore all'utente, che potrebbe non essere a conoscenza del fatto che la funzionalità non funziona.
Questa pagina ha fornito una buona panoramica per iniziare a comprendere il ruolo del tracciamento oculare e dell'input dello sguardo fisso per il HoloLens 2. Per iniziare a sviluppare, vedere le informazioni sul ruolo dello sguardo fisso per interagire con gli ologrammi, sguardo fisso in Unity e sguardo fisso in DirectX.