Ögonögonbaserad interaktion om HoloLens 2

Demonstration av ögonspårning i MRTK

En av våra spännande nya funktioner på HoloLens 2 är ögonspårning. På vår ögonspårning på HoloLens 2 sidan nämnde vi behovet för varje användare att gå igenom en kalibrering, gav viss vägledning för utvecklare och lyfte fram användningsfall för ögonspårning. Blickinmatning är fortfarande en ny typ av användarindata och det finns mycket att lära.

Medan blickinmatning endast används subtilt i vår Holographic Shell-upplevelse (användargränssnittet som du ser när du startar din HoloLens 2), visar flera appar, till exempel "HoloLens Playground", bra exempel på hur ögonögoninmatning kan öka magin i din holografiska upplevelse. På den här sidan diskuterar vi designöverväganden för att integrera blickinmatning för att interagera med dina holografiska program.

Du får lära dig om viktiga fördelar och även unika utmaningar som kommer med blickinmatning. Baserat på dessa ger vi flera designrekommendationer som hjälper dig att skapa tillfredsställande användargränssnitt som stöds av ögonögon.

Stöd för enheter

Funktion HoloLens (första generationen) HoloLens 2 Integrerande headset
Blick ✔️

Demo av designkoncept för huvud- och ögonspårning

Om du vill se huvud- och ögonspårningsdesignen i praktiken kan du titta på vår videodemo Designing Holograms - Head Tracking and Eye Tracking nedan. När du är klar kan du fortsätta med en mer detaljerad genomgång av specifika ämnen.

Den här videon är hämtad från appen "Designing Holograms" HoloLens 2. Ladda ned och njut av den fullständiga upplevelsen här.

Riktlinjer för design av ögonögaindata

Det kan vara svårt att skapa en interaktion som drar nytta av snabbrörlig ögonriktning. I det här avsnittet sammanfattar vi de viktigaste fördelarna och utmaningarna att tänka på när du utformar ditt program.

Fördelar med blickinmatning

  • Hög hastighet som pekar. Ögonmuskeln är den snabbast reagerande muskeln i människokroppen.

  • Låg ansträngning. Knappt några fysiska rörelser är nödvändiga.

  • Implicititet. Ofta beskrivs av användare som "sinnesläsning", information om en användares ögonrörelser låter systemet veta vilket mål användaren planerar att engagera.

  • Alternativ indatakanal. Blicken kan ge en kraftfull stödinmatning för hand- och röstinmatning som bygger på många års erfarenhet från användare baserat på deras hand-öga-koordinering.

  • Visuell uppmärksamhet. En annan viktig fördel är möjligheten att dra slutsatsen vad en användare uppmärksammar. Detta kan vara till hjälp inom olika programområden, från att mer effektivt utvärdera olika mönster till att hjälpa till med smartare användargränssnitt och förbättrade sociala signaler för fjärrkommunikation.

I ett nötskal erbjuder användning av blick som indata en snabb och enkel kontextuell inmatningssignal. Detta är kraftfullt när det kombineras med andra indata, till exempel röst och manuella indata för att bekräfta användarens avsikt.

Ögonperspektivets utmaningar som indata

Även om blicken kan användas för att skapa tillfredsställande användarupplevelser, vilket gör att du känner dig som en superhjälte, är det också viktigt att veta vad den inte är bra på för att ta hänsyn till detta på lämpligt sätt. I följande lista beskrivs några utmaningar att tänka på och hur du kan hantera dem när du arbetar med blickinmatning:

  • Din blick är "alltid på" Så fort du öppnar ögonlocken börjar dina ögon fixera på saker i miljön. Att reagera på varje utseende du gör och oavsiktligt utfärda åtgärder, eftersom du har tittat på något för länge, skulle resultera i en otillfredsställande upplevelse. Vi rekommenderar att du kombinerar blicken med ett röstkommando, en handgest, ett knapptryck eller ett utökat uppehåll för att utlösa valet av ett mål (mer information finns i blick och incheckning). Den här lösningen möjliggör också ett läge där användaren fritt kan se sig omkring utan att överbelastas av att ofrivilligt utlösa något. Det här problemet bör också övervägas när du utformar visuell och auditiv feedback när du tittar på ett mål. Försök att inte överbelasta användaren med omedelbara popup-effekter eller hovringsljud. Subtilitet är nyckeln. Vi diskuterar några metodtips för detta ytterligare nedan när du pratar om designrekommendationer.

  • Observation jämfört med kontroll Tänk dig att du exakt vill räta ut ett fotografi på väggen. Man tittar på dess gränser och dess omgivning för att se om den överensstämmer bra. Föreställ dig nu hur du skulle göra det när du vill använda din blick som indata för att flytta bilden. Svårt, eller hur? Detta beskriver ögonögons dubbla roll när det krävs både för indata och kontroll.

  • Lämna innan du klickar: För snabba målval har forskning visat att en användares blick kan gå vidare innan ett manuellt klick avslutas (till exempel en lufttryckning). Var särskilt uppmärksam på att synkronisera den snabba blicksignalen med långsammare kontrollinmatning (till exempel röst, händer, styrenhet).

  • Små mål: Känner du till känslan när du försöker läsa text som bara är lite för liten för att läsa bekvämt? Denna ansträngande känsla på ögonen kan få dig att känna dig trött och sliten, eftersom du försöker justera dina ögon för att fokusera bättre. Det här är en känsla som du kan anropa hos användarna när du tvingar dem att välja mål som är för små i ditt program med hjälp av ögonmål. För din design, för att skapa en trevlig och bekväm upplevelse för dina användare, rekommenderar vi att målen ska vara minst 2° i visuell vinkel, helst större.

  • Ojämna ögonrörelser Våra ögon utför snabba rörelser från fixering till fixering. Om du tittar på skanningsvägar för inspelade ögonrörelser kan du se att de ser ojämna ut. Dina ögon rör sig snabbt och i spontana hopp i jämförelse med huvud-blick eller handrörelser.

  • Spårning av tillförlitlighet: Ögonspårningsprecisionen kan försämras lite när ljuset ändras när dina ögon anpassar sig till de nya förhållandena. Även om detta inte nödvändigtvis bör påverka din programdesign, eftersom noggrannheten bör ligga inom begränsningen på 2° kan det vara nödvändigt för användaren att kalibrera igen.

Designrekommendationer

Följande är en lista över specifika designrekommendationer som baseras på de beskrivna fördelarna och utmaningarna för ögonögoninmatning:

  1. Blicken är inte samma sak som huvudöga:

    • Överväg om snabba men ojämna ögonrörelser passar din inmatningsuppgift: Även om våra snabba och ojämna ögonrörelser är bra på att snabbt välja mål i vårt synfält, är det mindre tillämpligt för uppgifter som kräver smidiga indatabanor (till exempel att rita eller omsluta anteckningar). I det här fallet bör hand- eller huvudpekning föredras.

    • Undvik att koppla något direkt till användarens blick (till exempel ett skjutreglage eller en markör). Med markörer kan detta resultera i en "flyende markör"-effekt på grund av små förskjutningar i den projicerade blicksignalen. Med ett skjutreglage kan det vara i konflikt med den dubbla rollen att styra skjutreglaget med ögonen samtidigt som du vill kontrollera om objektet är på rätt plats. För skjutreglagets exempel är det mer meningsfullt att använda blicken i kombination med handgester. Detta innebär att användaren snabbt och enkelt kan växla mellan många skjutreglage, höja upp handen och nypa tummen och pekfingret för att ta tag i och flytta den. När nypningen släpps slutar skjutreglaget att röra sig. Användare kan bli överväldigade och distraherade, särskilt om signalen är oprecis för den användaren.

  2. Kombinera blick med andra indata: Integreringen av ögonspårning med andra indata, till exempel handgester, röstkommandon eller knapptryckningar, ger flera fördelar:

    • Tillåt fri observation: Med tanke på att huvudrollen för våra ögon är att observera vår miljö är det viktigt att användarna får se sig omkring utan att utlösa någon (visuell, auditiv och så vidare) feedback eller åtgärder. Genom att kombinera ögonspårning med en annan inmatningskontroll kan du smidigt övergå mellan lägena för ögonspårningsobservation och inmatningskontroll.

    • Kraftfull kontextprovider: Genom att använda information om var och vad användaren tittar på när de säger ett röstkommando eller använder en handgest kan du sömlöst kanalisera indata över synfältet. Exempel: Säg "placera det där" för att snabbt och smidigt välja och placera ett hologram över scenen genom att titta på ett mål och dess avsedda mål.

    • Behov av att synkronisera multimodala indata: Om du kombinerar snabba ögonrörelser med mer komplexa indata, till exempel långa röstkommandon eller handgester, riskerar du att användaren redan fortsätter att se sig omkring innan det extra indatakommandot har slutförts och identifierats. Om du skapar egna indatakontroller (till exempel anpassade handgester) ska du logga uppkomsten av dessa indata eller en ungefärlig varaktighet för att korrelera den med vad en användare har tittat på tidigare.

  3. Subtil feedback för indata från ögonspårning: Det är användbart att ge feedback när ett mål ses över för att indikera att systemet fungerar som avsett men bör hållas subtilt. Detta kan innefatta att långsamt blanda in och ut, visuella markeringar eller att utföra andra subtila målbeteenden, till exempel långsamma rörelser, till exempel att öka målstorleken något. Detta indikerar att systemet korrekt har identifierat att användaren tittar på ett mål utan att störa användarens aktuella arbetsflöde i onödan.

  4. Undvik att framtvinga onaturliga ögonrörelser som indata: Tvinga inte användare att använda specifika ögonrörelser (blickgester) för att utlösa åtgärder i ditt program.

  5. Ta hänsyn till obeslutsamhet: Vi särskiljer två typer av imprecisioner, som är märkbara för användarna: offset och jitter. Det enklaste sättet att hantera en förskjutning är att tillhandahålla tillräckligt stora mål att interagera med. Vi föreslår att du använder en visuell vinkel som är större än 2° som referens. Miniatyrbilden är till exempel cirka 2° i visuell vinkel när du sträcker ut armen. Detta leder till följande vägledning:

    • Tvinga inte användarna att välja små mål. Forskning har visat att om målen är tillräckligt stora och systemet är väl utformat, beskriver användarna sina interaktioner som enkla och magiska. Om målen blir för små beskriver användarna upplevelsen som fet och frustrerande.

På den här sidan får du en bra översikt för att komma igång med att förstå blicken som en inmatning i mixad verklighet. För att komma igång med utvecklingen kan du kolla in vår information om blicken i Unity och blicken i DirectX.

Se även