Tracciamento oculare su 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 guardando. Questa pagina illustra in che modo gli sviluppatori possono trarre vantaggio dal tracciamento oculare per vari casi d'uso e cosa cercare durante la progettazione di interazioni utente basate sullo sguardo fisso.
L'API Tracciamento oculare è stata progettata tenendo presente la privacy di un utente; evita il passaggio di qualsiasi informazione identificabile, in particolare di qualsiasi biometria. Per le applicazioni che supportano il rilevamento oculare, l'utente deve concedere all'app l'autorizzazione per usare le informazioni di rilevamento oculare.
Supporto dei dispositivi
Caratteristica | HoloLens (prima generazione) | HoloLens 2 | Visori vr immersive |
Sguardo fisso | ❌ | ✔️ | ❌ |
Demo dei concetti di progettazione del tracciamento oculare e della testa
Se vuoi vedere i concetti di progettazione di Head e Eye Tracking in azione, vedi la demo di progettazione di ologrammi - Tracciamento della testa e tracciamento oculare di seguito. Al termine, continuare per un'analisi più dettagliata di argomenti specifici.
Questo video è stato tratto dall'app "Progettazione di ologrammi" HoloLens 2. Scarica e goditi l'esperienza completa qui.
Taratura
Per il corretto funzionamento del tracciamento oculare, ogni utente deve eseguire una calibrazione dell'utente di tracciamento oculare per cui 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 allo stesso tempo un tracciamento oculare accurato.
Il tracciamento oculare dovrebbe funzionare per la maggior parte degli utenti, ma esistono 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 il processo di calibrazione.
- L'utente si è distratto e non ha seguito gli obiettivi di calibrazione.
- L'utente ha alcuni tipi di lenti a contatto e occhiali che il sistema non supporta ancora.
- L'utente ha determinate fisiologia o condizioni oculari o ha avuto un intervento chirurgico oculare, che il sistema non supporta ancora.
- Fattori esterni che inibiscono il tracciamento oculare affidabile, ad esempio macchie sulla visiera o sugli occhiali holoLens, luce solare diretta intensa e occlusione dovute ai 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 consigli 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 dell'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 di sguardo fisso (origine e direzione dello sguardo) a circa 30 FPS (30 Hz). Per il corretto funzionamento del tracciamento oculare, ogni utente deve eseguire una calibrazione dell'utente di tracciamento oculare. 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 dello sguardo fisso in Unity.
Lo sguardo visivo stimato si trova approssimativamente entro 1,5 gradi nell'angolo visivo intorno alla destinazione effettiva (vedere l'illustrazione seguente). Sono previste lievi imprecisioni, quindi gli sviluppatori dovrebbero pianificare un margine intorno a questo valore limite inferiore (ad esempio, 2,0-3,0 gradi potrebbero comportare un'esperienza molto più confortevole). Di seguito verrà illustrato come affrontare la selezione di destinazioni di piccole dimensioni in modo più dettagliato.
Dimensioni ottimali della destinazione a una distanza di 2 metri
Dati di tracciamento oculare estesi
Le API di tracciamento oculare estese consentono agli sviluppatori di sbloccare scenari innovativi come la valutazione della salute, il monitoraggio e la terapia fornendo informazioni più granulari sullo sguardo dell'utente.
Le API di tracciamento oculare estese consentono di accedere ai valori di tracciamento oculare esistenti e alle nuove funzionalità, ad esempio i singoli vettori dello sguardo (a sinistra e a destra), la frequenza dei fotogrammi supportata e la possibilità di impostare la frequenza dei fotogrammi di tracciamento oculare su 30, 60 o 90 fps. Per usare l'API Di rilevamento oculare esteso, vedere le guide per sviluppatori per l'uso delle API di rilevamento oculare esteso per native o Unity.
Situazioni di utilizzo
Il rilevamento oculare consente alle applicazioni di tenere traccia della posizione dell'utente in tempo reale. I casi d'uso seguenti descrivono alcune interazioni possibili con il tracciamento oculare su HoloLens 2 nella realtà mista. Questi casi d'uso non fanno ancora parte dell'esperienza holographic Shell (l'interfaccia visualizzata quando si avvia il 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 senza sforzo supportate dagli occhi e scorrimento automatico del testo in base a ciò che l'utente guarda.
Finalità utente
Le informazioni sulla posizione e l'aspetto di un utente forniscono un contesto potente per altri input, ad esempio voce, mani e controller. Può essere usato per varie attività. Ad esempio, l'utente può indirizzare rapidamente e senza sforzo attraverso la scena guardando un ologramma e dicendo "select" (vedere anche sguardo fisso e commit) o "put this...", e quindi guardare dove vogliono posizionare l'ologramma e dire "... lì". Esempi a questo scopo sono disponibili in Realtà mista Toolkit - Selezione destinazione supportata dagli occhi e Realtà mista Toolkit - Posizionamento di destinazione supportato dagli occhi.
Inoltre, un esempio per la finalità dell'utente potrebbe includere l'uso di informazioni su ciò che gli utenti guardano per migliorare il coinvolgimento con agenti virtuali incorporati e 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 di azioni implicite è strettamente correlata alla finalità dell'utente. L'idea è che gli ologrammi o gli elementi dell'interfaccia utente reagiscano in modo istintivo che potrebbe anche non sembrare che l'utente interagisca 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 a scorrere quando l'utente arriva alla fine della casella di testo. In questo modo l'utente rimane 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 stesse immergendo esattamente verso ciò su cui è concentrato.
L'attivazione e il controllo della velocità di zoom possono essere controllati dall'input vocale o della mano, che è importante per fornire all'utente la sensazione di controllo, evitando di essere sopraffatti. Di seguito verranno illustrate queste considerazioni di progettazione in modo più dettagliato. Una volta ingrandito, l'utente può seguire senza problemi, ad esempio, il corso di una strada per esplorare il suo quartiere usando il loro sguardo fisso. Esempi demo per questi tipi di interazioni sono disponibili nell'esempio di navigazione supportato da Realtà mista Toolkit - Eye.
Altri casi d'uso per le azioni implicite possono includere:
- Notifiche intelligenti: Ti infastidiscono mai le notifiche che spuntano proprio al centro della tua vista? È possibile migliorare questa esperienza compensando le notifiche da cui l'utente sta attualmente guardando. Ciò 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 guardati. Questo può variare da elementi dell'interfaccia utente leggermente luminosi a un fiore che fiorisce lentamente a un cane virtuale che inizia a guardare indietro l'utente e agitare la coda. Questa interazione può offrire un interessante senso di connettività e soddisfazione nell'applicazione.
Monitoraggio dell'attenzione
Le informazioni su dove o cosa gli utenti guardano possono essere uno strumento immensamente potente. Può aiutare a valutare l'usabilità delle progettazioni e identificare i problemi nei flussi di lavoro per renderli più efficienti. La visualizzazione e l'analisi del rilevamento oculare sono una pratica comune in varie aree dell'applicazione. Con HoloLens 2 si fornisce una nuova dimensione a questa comprensione. Gli ologrammi 3D possono essere inseriti in contesti reali e valutati di conseguenza.
Realtà mista Toolkit fornisce esempi di base per la registrazione e il caricamento dei dati di rilevamento oculare e come visualizzarli.
Microsoft si impegna a facilitare l'innovazione garantendo al tempo stesso agli utenti un'esperienza informata e trasparente con il modo in cui vengono usate le informazioni di tracciamento oculare. Continueremo a collaborare con gli sviluppatori e i team dell'esperienza utente per fornire indicazioni a terze parti per garantire che le esperienze siano incentrate sull'utente.
Altre applicazioni in quest'area possono includere:
- Visualizzazione remota dello sguardo fisso: Visualizzare l'aspetto dei collaboratori remoti. Ciò può fornire feedback immediato e facilitare un'elaborazione delle informazioni più accurata.
- Studi di ricerca sugli utenti: Il monitoraggio dell'attenzione può fornire informazioni dettagliate sul modo in cui gli utenti percepiscono e interagiscono con l'ambiente naturale senza interferire. Questo può aiutare gli sviluppatori a progettare interazioni uomo-computer più istintive. 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: Praticare e ottimizzare l'esecuzione delle attività identificando in modo più efficace i colli di bottiglia nel flusso di esecuzione. Il tracciamento oculare può fornire informazioni naturali, in tempo reale e oggettive per contribuire a migliorare la formazione, la produttività e la sicurezza sul posto di lavoro.
- Progettare valutazioni, marketing e ricerca per i consumatori: Il tracciamento oculare consente alle aziende commerciali di eseguire studi di marketing e consumer in ambienti reali o 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 i superpoteri? Ecco la tua occasione!
È possibile levitare gli ologrammi fissandoli.
Sparate raggi laser dai vostri occhi-- provatelo in RoboRaid per HoloLens 2.
Trasforma i nemici in pietra o li congela.
Usa la tua visione a raggi X per esplorare gli edifici.
La tua immaginazione è il limite! Attenzione a non sovraccaricare l'utente, però. Per altre informazioni, vedere le linee guida per la progettazione di input basate su sguardo fisso.
Avatar espressivi: Il tracciamento oculare aiuta in 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 i vantaggi della selezione rapida degli occhi può essere complessa. Poiché gli occhi possono muoversi rapidamente, se non stai attento a come usare l'input dello sguardo fisso, gli utenti potrebbero trovare l'esperienza travolgente o distraente. Ma questo vale la pena di sfida, perché il tracciamento oculare ti permette di creare esperienze davvero magiche che entuicheranno i tuoi utenti! Per aiutarti, consulta la nostra panoramica dei principali vantaggi, sfide e consigli di progettazione per lo sguardo fisso per l'interazione.
Soluzioni di fallback quando il tracciamento oculare non è disponibile
In rari casi, i dati di rilevamento oculare potrebbero non essere disponibili. Ciò può verificarsi per una serie di motivi: i più comuni sono elencati di seguito:
- 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 per l'uso dei dati di tracciamento oculare.
- L'utente ha occhiali unici o alcune condizioni oculari che il sistema non supporta ancora.
- Fattori esterni che inibiscono il tracciamento oculare affidabile, ad esempio macchie sulla visiera o sugli occhiali HoloLens, luce solare diretta intensa e occlusione 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ò offrire, in modo da revocare intenzionalmente l'accesso ai dati di tracciamento oculare. Tuttavia, in alcuni casi questa revoca potrebbe essere involontaria. Se l'app usa il tracciamento oculare e questa è una parte importante dell'esperienza, ti consigliamo di comunicarlo chiaramente all'utente. Spiegare all'utente in che modo il tracciamento oculare sblocca il potenziale completo dell'applicazione può aiutarli a comprendere meglio cosa sta rinunciando. Se il rilevamento 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 dato l'autorizzazione, ma non vengono ricevuti dati di tracciamento oculare, questo potrebbe indicare problemi come sbavature o occhi chiusi.
Ci sono rari casi in cui il tracciamento oculare semplicemente non funziona per qualcuno e non c'è alcuna ragione ovvia. Sii rispettoso di ciò consentendo all'utente di ignorare o disabilitare i promemoria per abilitare il rilevamento oculare nella tua app.
Tornare indietro 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 rilevamento oculare non sono disponibili, ti consigliamo di tornare allo sguardo fisso e mostrare il cursore head-gaze. È consigliabile usare un timeout (ad esempio, 500-1500 ms) per determinare se passare o meno. Questa azione impedisce che i cursori vengano visualizzati ogni volta che il sistema potrebbe perdere brevemente il rilevamento a causa di movimenti oculari veloci o stritte e lampeggiamenti. Gli sviluppatori di Unity hanno già gestito il fallback automatico allo sguardo fisso nel toolkit di Realtà mista. Se sei uno sviluppatore DirectX, devi gestire questa opzione da solo.
Eseguire il backback per altre applicazioni specifiche del rilevamento oculare
La tua app può usare lo sguardo fisso in un modo unico, personalizzato appositamente per gli occhi, ad esempio animando gli occhi di un avatar o mappe di calore di attenzione basate su 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 comunicarlo chiaramente all'utente, che potrebbe non essere a conoscenza del fatto che la funzionalità non funziona.
Si spera che questa pagina abbia 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, lo sguardo fisso in Unity e lo sguardo fisso in DirectX.