Oogtracering op HoloLens 2
HoloLens 2 zorgt voor een nieuw niveau van context en menselijk begrip binnen de holografische ervaring door ontwikkelaars de mogelijkheid te bieden om informatie te gebruiken over wat de gebruiker bekijkt. Op deze pagina wordt uitgelegd hoe ontwikkelaars kunnen profiteren van oogtracering voor verschillende use cases en waar ze op moeten letten bij het ontwerpen van gebruikersinteracties op basis van ogenblikken.
De Eye Tracking-API is ontworpen met het oog op de privacy van een gebruiker; Het voorkomt dat identificeerbare informatie, met name biometrie, wordt doorgegeven. Voor toepassingen die geschikt zijn voor oogtracering moet de gebruiker de app toestemming geven om oogtraceringsgegevens te gebruiken.
Ondersteuning voor apparaten
Functie | HoloLens (1e generatie) | HoloLens 2 | Immersive headsets |
Oog-blik | ❌ | ✔️ | ❌ |
Ontwerpconcepten voor hoofd- en ogentraceringsdemo
Als u ontwerpconcepten voor hoofd- en ogentracering in actie wilt zien, bekijkt u onze videodemo Hologrammen ontwerpen - Hoofdtracering en oogtracering hieronder. Wanneer u klaar bent, gaat u verder voor een gedetailleerdere bespreking van specifieke onderwerpen.
Deze video is afkomstig uit de HoloLens 2-app Hologrammen ontwerpen. Download en geniet hier van de volledige ervaring.
Kalibratie
Oogtracering werkt alleen nauwkeurig als elke gebruiker een kalibratie voor oogtracering moet doorlopen waarvoor de gebruiker een set holografische doelen moet bekijken. Hierdoor kan het apparaat het systeem aanpassen, wat resulteert in een comfortabelere en betere kijkervaring voor de gebruiker en tegelijkertijd nauwkeurige oogtracering garandeert.
Oogtracering zou voor de meeste gebruikers moeten werken, maar er zijn zeldzame gevallen waarin een gebruiker niet kan kalibreren. Kalibratie kan om verschillende redenen mislukken, waaronder maar niet beperkt tot:
- De gebruiker heeft zich eerder afgemeld voor het kalibratieproces.
- De gebruiker werd afgeleid en volgde de kalibratiedoelen niet.
- De gebruiker heeft bepaalde soorten contactlenzen en brillen die het systeem nog niet ondersteunt.
- De gebruiker heeft bepaalde oogfysiologie of oogaandoeningen of heeft een oogoperatie ondergaan, die het systeem nog niet ondersteunt.
- Externe factoren die betrouwbare oogtracering verhinderen, zoals vlekken op het HoloLens-vizier of de bril, intens direct zonlicht en occlusies als gevolg van haar voor de ogen.
Ontwikkelaars moeten ervoor zorgen dat ze voldoende ondersteuning bieden voor gebruikers voor wie oogtraceringsgegevens mogelijk niet beschikbaar zijn (die niet met succes kunnen kalibreren). We hebben aanbevelingen voor terugvaloplossingen gegeven in de sectie onder aan deze pagina.
Voor meer informatie over de kalibratie en hoe u een soepele ervaring kunt garanderen, raadpleegt u onze pagina voor het kalibreren van ogentracering van gebruikers .
Beschikbare oogtraceringsgegevens
Met oogtracering op HoloLens 2 kunnen ontwikkelaars natuurlijke en intuïtieve invoer- en interactiescenario's ontwerpen. De Eye Tracking-API biedt de informatie over wat de gebruiker bekijkt als een enkele oogblikstraal (blikken oorsprong en richting) bij ongeveer 30 FPS (30 Hz). Voor een nauwkeurige werking van ogentracering moet elke gebruiker een gebruikerskalibratie voor oogtracering doorlopen. Raadpleeg onze ontwikkelaarshandleidingen voor het gebruik van ogenkijken in DirectX en eye-gazein Unity voor meer gedetailleerde informatie over het openen van oogtraceringsgegevens.
De voorspelde oog-blik is ongeveer binnen 1,5 graden in visuele hoek rond het werkelijke doel (zie de onderstaande afbeelding). Er worden kleine onnauwkeurigheden verwacht, dus ontwikkelaars moeten plannen voor een marge rond deze ondergrenswaarde (2,0-3,0 graden kan bijvoorbeeld leiden tot een veel comfortabelere ervaring). Hieronder bespreken we hoe u de selectie van kleine doelen kunt aanpakken.
Optimale doelgrootte op een afstand van 2 meter
Uitgebreide oogtraceringsgegevens
Met uitgebreide oogtracering-API's kunnen ontwikkelaars het volgende niveau van innovatieve scenario's ontgrendelen, zoals gezondheidsevaluatie, bewaking en therapie door gedetailleerdere informatie te bieden over de ogen van de gebruiker.
Uitgebreide oogtracering-API's bieden toegang tot bestaande waarden voor oogtracering en nieuwe functies, zoals afzonderlijke (linker- en rechter) oogboogbewegingen, ondersteunde framesnelheden en de mogelijkheid om de oogtraceringsfrequentie in te stellen op 30, 60 of 90fps. Als u de Extended Eye Tracking-API wilt gebruiken, raadpleegt u onze ontwikkelaarshandleidingen voor het gebruik van Extended Eye Tracking-API's voor systeemeigen of Unity.
Gebruiksvoorbeelden
Met oogtracering kunnen toepassingen in realtime bijhouden waar de gebruiker naar zoekt. In de volgende use cases worden enkele interacties beschreven die mogelijk zijn met oogtracering op HoloLens 2 in mixed reality. Deze gebruiksvoorbeelden maken nog geen deel uit van de Holographic Shell-ervaring (de interface die u ziet wanneer u uw HoloLens 2 start). U kunt een aantal van deze proberen in de Mixed Reality Toolkit. De toolkit biedt verschillende interessante en krachtige voorbeelden voor het gebruik van oogtracering, zoals snelle en moeiteloze oogondersteunde doelselecties en automatisch schuiven door tekst op basis van wat de gebruiker bekijkt.
Gebruikersintentie
Informatie over waar en wat een gebruiker bekijkt, biedt een krachtige context voor andere invoer, zoals spraak, handen en controllers. Dit kan voor verschillende taken worden gebruikt. De gebruiker kan zich bijvoorbeeld snel en moeiteloos richten op de scène door naar een hologram te kijken en 'selecteren' te zeggen (zie ook staren en doorvoeren) of 'zet dit...', en vervolgens kijken naar waar ze het hologram willen plaatsen en '... daar". Voorbeelden hiervan vindt u in Mixed Reality Toolkit - Door het oog ondersteunde doelselectie en Mixed Reality Toolkit - Door het oog ondersteunde doelpositionering.
Daarnaast kan een voorbeeld van een gebruikersintentie het gebruik van informatie over wat gebruikers bekijken, bevatten om de betrokkenheid met opgenomen virtuele agents en interactieve hologrammen te verbeteren. Virtuele agents kunnen bijvoorbeeld beschikbare opties en hun gedrag aanpassen op basis van momenteel bekeken inhoud.
Impliciete acties
De categorie impliciete acties is nauw verbonden met de gebruikersintentie. Het idee is dat hologrammen of gebruikersinterface-elementen op een instinctieve manier reageren die misschien niet eens het gevoel hebben dat de gebruiker helemaal met het systeem communiceert, maar dat het systeem en de gebruiker gesynchroniseerd zijn. Een voorbeeld is automatisch schuiven op basis van ogen , waarbij de gebruiker een lange tekst kan lezen die automatisch begint te schuiven zodra de gebruiker de onderkant van het tekstvak heeft gevonden. Hierdoor blijft de gebruiker in de stroom van lezen zonder een vinger op te tillen. Een belangrijk aspect hiervan is dat de schuifsnelheid wordt aangepast aan de leessnelheid van de gebruiker.
Een ander voorbeeld is in- en uitzoomen en pannen met ogen , waarbij de gebruiker het gevoel krijgt dat hij of zij precies in de richting duikt waar hij of zij zich op richt.
Het activeren en regelen van de zoomsnelheid kan worden geregeld met stem- of handinvoer, wat belangrijk is om de gebruiker het gevoel van controle te geven en tegelijkertijd overweldigd te worden voorkomen. We bespreken deze ontwerpoverwegingen hieronder in meer detail. Eenmaal ingezoomd, kan de gebruiker soepel het verloop van een straat volgen om zijn of haar buurt te verkennen met behulp van hun blik. Demovoorbeelden voor dit soort interacties vindt u in de Mixed Reality Toolkit - Door het oog ondersteunde navigatievoorbeeld.
Andere gebruiksvoorbeelden voor impliciete acties kunnen zijn:
- Slimme meldingen: Word je ooit geïrriteerd door meldingen die midden in je weergave verschijnen? U kunt deze ervaring verbeteren door meldingen te verschoven van waaruit de gebruiker momenteel kijkt. Dit beperkt afleidingen en sluit deze automatisch af zodra de gebruiker klaar is met lezen.
- Attente hologrammen: Dit zijn hologrammen die op een subtiele manier reageren wanneer ze worden bekeken. Dit kan variëren van licht gloeiende UI-elementen tot een langzaam bloeiende bloem tot een virtuele hond die naar de gebruiker begint te kijken en met zijn staart waggelt. Deze interactie kan een interessant gevoel van connectiviteit en tevredenheid in uw toepassing bieden.
Aandachtstracering
Informatie over waar of wat gebruikers bekijken, kan een enorm krachtig hulpmiddel zijn. Het kan helpen bij het beoordelen van de bruikbaarheid van ontwerpen en het identificeren van problemen in werkstromen om ze efficiënter te maken. Visualisatie en analyse van oogtracering zijn gebruikelijk in verschillende toepassingsgebieden. Met HoloLens 2 bieden we een nieuwe dimensie aan dit begrip; 3D-hologrammen kunnen in de praktijk worden geplaatst en dienovereenkomstig worden beoordeeld.
De Mixed Reality Toolkit biedt basisvoorbeelden voor logboekregistratie en het laden van oogtraceringsgegevens en hoe u deze kunt visualiseren.
Microsoft doet er alles aan om innovatie te faciliteren en ervoor te zorgen dat gebruikers een geïnformeerde en transparante ervaring hebben met de wijze waarop hun oogtraceringsgegevens worden gebruikt. We blijven samenwerken met onze ontwikkelaars en UX-teams om hulp te bieden aan derden om ervoor te zorgen dat ervaringen zijn gericht op de gebruiker.
Andere toepassingen op dit gebied kunnen zijn:
- Visualisatie van externe ogenkijken: Visualiseer waar externe medewerkers naar kijken. Dit kan onmiddellijke feedback geven en een nauwkeurigere verwerking van informatie mogelijk maken.
- Onderzoek van gebruikers: Aandachtstracering kan inzicht geven in hoe gebruikers de natuurlijke omgeving waarnemen en ermee omgaan zonder te storen. Dit kan ontwikkelaars helpen meer instinctieve interacties tussen mens en computer te ontwerpen. Oogtracering kan informatie bieden die niet rechtstreeks wordt verwoord door deelnemers aan het onderzoek en die gemakkelijk kan worden gemist door de onderzoeker.
- Training en prestatiebewaking: Oefen en optimaliseer de uitvoering van taken door knelpunten in de uitvoeringsstroom effectiever te identificeren. Oogtracering kan natuurlijke, realtime en objectieve informatie bieden om training, productiviteit en veiligheid op de werkplek te verbeteren.
- Ontwerpevaluaties, marketing en consumentenonderzoek: Met oogtracering kunnen commerciële bedrijven marketing- en consumentenstudies uitvoeren in echte omgevingen of analyseren wat de aandacht van een gebruiker trekt om het product- of ruimteontwerp te verbeteren.
Andere gebruiksvoorbeelden
- Gaming: Heb je ooit superkrachten willen hebben? Hier is je kans!
U kunt hologrammen laten zweven door ernaar te staren.
Schiet laserstralen vanuit uw ogen - probeer het in RoboRaid voor HoloLens 2.
Verander vijanden in steen of bevriezen ze.
Gebruik uw röntgenzicht om gebouwen te verkennen.
Uw verbeelding is de limiet! Pas echter op dat u de gebruiker niet overweldigt. Zie onze richtlijnen voor het ontwerpen van invoer op basis van ogenkijken voor meer informatie.
Expressieve avatars: Oogtracering helpt bij meer expressieve 3D-avatars door live oogtraceringsgegevens te gebruiken om de ogen van de avatar te animeren en ervoor te zorgen dat ze volgen wat de gebruiker bekijkt.
Tekstinvoer: Oogtracering kan worden gebruikt als alternatief voor tekstinvoer met een lage inspanning, met name wanneer spraak of handen lastig zijn om te gebruiken.
Oog-blik gebruiken voor interactie
Het kan lastig zijn om een interactie te maken die gebruikmaakt van snel bewegende oog gerichtheid. Omdat ogen snel kunnen bewegen, kunnen gebruikers de ervaring overweldigend of afleidend vinden als u niet voorzichtig bent met het gebruik van oog-blikinvoer. Maar dit is de uitdaging zeker waard, want met oogtracering kunt u echt magische ervaringen creëren die uw gebruikers zullen opwinden! Bekijk ons overzicht van de belangrijkste voordelen, uitdagingen en ontwerpaanbevelingen voor interactie om u te helpen.
Oplossingen voor terugval wanneer oogtracering niet beschikbaar is
In zeldzame gevallen zijn oogtraceringsgegevens mogelijk niet beschikbaar. Dit kan een aantal oorzaken hebben: de meest voorkomende worden hieronder vermeld:
- Het systeem kan de gebruiker niet kalibreren.
- De gebruiker heeft de kalibratie overgeslagen.
- De gebruiker is gekalibreerd, maar heeft besloten uw app geen toestemming te geven om hun oogtraceringsgegevens te gebruiken.
- De gebruiker heeft een unieke bril of een bepaalde oogconditie die het systeem nog niet ondersteunt.
- Externe factoren die betrouwbare oogtracering verhinderen, zoals vlekken op het HoloLens-vizier of de bril, intens direct zonlicht en occlusies vanwege haar voor de ogen.
Ontwikkelaars moeten ervoor zorgen dat er passende ondersteuning voor terugval is voor deze gebruikers. Op de pagina Oogtracering in DirectX leggen we uit welke API's nodig zijn om te detecteren of oogtraceringsgegevens beschikbaar zijn.
Sommige gebruikers besluiten mogelijk dat meer privacy voor hen belangrijker is dan de verbeterde ervaring die oogtracering kan bieden, zodat ze de toegang tot hun oogtraceringsgegevens opzettelijk intrekken. In sommige gevallen kan deze intrekking echter onbedoeld zijn. Als uw app oogtracering gebruikt en dit is een belangrijk onderdeel van de ervaring, raden we u aan dit duidelijk aan de gebruiker te communiceren. Als u aan de gebruiker uitlegt hoe oogtracering het volledige potentieel van uw toepassing ontgrendelt, kan dit helpen om beter te begrijpen wat ze opgeven. Als oogtracering is ingeschakeld maar niet werkt, helpt u de gebruiker het probleem te identificeren en op te lossen met behulp van de bovenstaande controlelijst als richtlijn. Als u bijvoorbeeld kunt detecteren dat het systeem oogtracering ondersteunt en de gebruiker is gekalibreerd en toestemming heeft gegeven, maar er geen oogtraceringsgegevens worden ontvangen, kan dit wijzen op problemen zoals vlekken of de ogen die worden occluded.
Er zijn zeldzame gevallen waarin oogtracering gewoon niet werkt voor iemand en er geen duidelijke reden is. Respecteer dat door de gebruiker toe te staan herinneringen voor het inschakelen van ogentracering in uw app te negeren of uit te schakelen.
Terugval voor apps die oog-blik gebruiken als primaire invoerpointer
Als uw app oog-staren gebruikt als invoer voor een aanwijzer om snel hologrammen in de scène te selecteren, maar er geen oogtraceringsgegevens beschikbaar zijn, raden we u aan om terug te vallen naar hoofd-staren en de hoofd-gazecursor weer te geven. U wordt aangeraden een time-out te gebruiken (bijvoorbeeld 500-1500 ms) om te bepalen of u wilt overschakelen of niet. Deze actie voorkomt dat cursors worden weergegeven telkens wanneer het systeem de tracering tijdelijk kwijtraakt vanwege snelle oogbewegingen of knipoogjes en knipperen. Als u een Unity-ontwikkelaar bent, wordt de automatische terugval naar head-gaze al afgehandeld in de Mixed Reality Toolkit. Als u een DirectX-ontwikkelaar bent, moet u deze switch zelf afhandelen.
Terugvallen voor andere oogtraceringsspecifieke toepassingen
Uw app kan ooggerichtheid gebruiken op een unieke manier die specifiek is afgestemd op de ogen, bijvoorbeeld het bezielen van de ogen van een avatar of heatmaps op basis van ogen die afhankelijk zijn van nauwkeurige informatie over visuele aandacht. In dit soort gevallen is er geen duidelijke terugval. Als oogtracering niet beschikbaar is, moeten deze mogelijkheden mogelijk worden uitgeschakeld. Nogmaals, we raden u aan om dit duidelijk te communiceren met de gebruiker, die mogelijk niet weet dat de mogelijkheid niet werkt.
Deze pagina heeft u hopelijk een goed overzicht gegeven om u aan de slag te laten gaan met de rol van oogtracering en blikinvoer voor de HoloLens 2. Bekijk onze informatie over de rol van eye-gaze voor interactie met hologrammen, eye-star in Unity en eye-gaze in DirectX om aan de slag te gaan met ontwikkelen.