Blick och genomför
Blick och incheckning är en grundläggande indatamodell som är nära relaterad till hur vi interagerar med våra datorer med hjälp av musen: Peka & klicka. På den här sidan introducerar vi två typer av blickindata (huvud- och blick) och olika typer av incheckningsåtgärder. Blick och incheckning anses vara en långt indatamodell med indirekt manipulation. Det används bäst för att interagera med holografiskt innehåll som är utom räckhåll.
Headset för mixad verklighet kan använda användarens huvuds position och orientering för att bestämma huvudriktningsvektorn. Tänk på blicken som en laser som pekar rakt framifrån direkt mellan användarens ögon. Det här är en ganska grov uppskattning av var användaren letar. Ditt program kan korsa den här strålen med virtuella eller verkliga objekt och rita en markör på den platsen för att låta användaren veta vad de riktar in sig på.
Förutom huvudöga inkluderar vissa headset för mixad verklighet, till exempel HoloLens 2, ögonspårningssystem som producerar en ögonögavektor. Detta ger ett detaljerat mått på var användaren letar. I båda fallen representerar blicken en viktig signal för användarens avsikt. Ju bättre systemet kan tolka och förutsäga användarens avsedda åtgärder, desto bättre användarnöjdhet och prestanda.
Nedan visas några exempel på hur du som utvecklare av mixad verklighet kan dra nytta av huvud- eller ögonöga:
- Din app kan korsa blicken med hologram i din scen för att avgöra var användarens uppmärksamhet är (mer exakt med blick).
- Din app kan kanalisera gester och kontrollanttryckningar baserat på användarens blick, vilket gör att användaren smidigt kan välja, aktivera, hämta, rulla eller på annat sätt interagera med sina hologram.
- Din app kan låta användaren placera hologram på verkliga ytor genom att korsa blickstrålen med det rumsliga mappningsnätet.
- Din app kan veta när användaren inte tittar i riktning mot ett viktigt objekt, vilket kan leda till att din app ger visuella och ljudsignaler för att vända sig mot objektet.
Stöd för enheter
Indatamodell | HoloLens (första generationen) | HoloLens 2 | Integrerande headset |
Blick och incheckning | ✔️ Rekommenderas | ✔️ Rekommenderas (tredje valet – Se de andra alternativen) | ➕ Alternativt alternativ |
Blick och incheckning | ❌ Inte tillgängligt | ✔️ Rekommenderas (tredje valet – Se de andra alternativen) | ❌ Inte tillgängligt |
Demo av designkoncept för huvud- och ögonspårning
Om du vill se designbegrepp för huvud- och ögonspårning 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.
Blick
Ögon- eller huvudöga?
Det finns flera saker att tänka på när du ställs inför frågan om du ska använda indatamodellen "blick och incheckning" eller "blick och incheckning". Om du utvecklar för ett integrerande headset eller för HoloLens (första generationen) är valet enkelt: Blick och incheckning. Om du utvecklar för HoloLens 2 blir valet lite svårare. Det är viktigt att förstå de fördelar och utmaningar som följer med var och en av dem. Vi sammanställde några breda proffs och cons i tabellen nedan för att kontrastera huvud- kontra ögonperspektiv. Detta är långt ifrån fullständigt och vi föreslår att du lär dig mer om ögonperspektiv i mixad verklighet här:
- Ögonspårning på HoloLens 2: Allmän introduktion av vår nya ögonspårningsfunktion på HoloLens 2 inklusive viss utvecklarvägledning.
- Interaktion med ögonöga: Designöverväganden och rekommendationer när du planerar att använda ögonspårning som indata.
Ögonöga som riktar sig mot | Riktad mot huvudsyskon |
Snabb! | Långsammare |
Låg ansträngning (knappt några kroppsrörelser krävs) | Kan vara fatiguing - Möjligt obehag (till exempel halsstam) |
Kräver ingen markör, men subtil feedback rekommenderas | Kräver att en markör visas |
Inga släta ögonrörelser – till exempel inte bra för ritning | Mer kontrollerad och explicit |
Svårt för små mål (till exempel små knappar eller webblänkar) | Tillförlitlig! Bra reserv! |
... | ... |
Oavsett om du använder huvudöga eller blick för din indatamodell för blick och incheckning har var och en olika uppsättningar designbegränsningar. Dessa beskrivs separat i artiklarna eye-gaze och commit och head-gaze och commit .
Markören
De flesta appar bör använda en markör eller annan auditiv/visuell indikation för att ge användaren förtroende för vad de ska interagera med.
Du placerar vanligtvis markören i världen där deras huvud blickstråle först korsar ett objekt, som kan vara ett hologram eller en verklig yta.
För ögonöga rekommenderar vi vanligtvis att du inte visar en markör, eftersom detta snabbt kan bli distraherande och irriterande för användaren.
Markera i stället visuella mål subtilt eller använd en svag ögonmarkör för att ge förtroende för vad användaren ska interagera med. Mer information finns i vår designvägledning för ögonbaserade indata om HoloLens 2.
Bild: Ett exempel på en visuell markör för att visa blicken
Checka in
När vi har pratat om olika sätt att titta på ett mål kan vi prata lite mer om incheckningsdelen i blicken och incheckningen. När ett objekt eller användargränssnittselement har riktats kan användaren interagera eller klicka på det med hjälp av sekundära indata. Detta kallas för indatamodellens genomföringssteg.
Följande incheckningsmetoder stöds:
- Air tap hand gest (det vill s, höja handen framför dig och föra samman ditt pekfinger och tumme)
- Säg "välj" eller något av de riktade röstkommandona
- Tryck på en enda knapp på en HoloLens Clicker
- Tryck på A-knappen på en Xbox-spelsats
- Tryck på A-knappen på en Xbox-anpassningsbar handkontroll
Gest för blick och lufttryck
Luftkran är en knackande gest med handen upprätt. Om du vill använda en luftkran höjer du pekfingret till det redo läget, klämr sedan ihop med tummen och höjer pekfingret igen för att släppa. På HoloLens (första generationen) är luftkranen den vanligaste sekundära inmatningen.
Finger i klar position
Tryck ned fingret för att trycka eller klicka
Luftkran finns också på HoloLens 2. Det har varit avslappnad från den ursprungliga versionen. Nästan alla typer av nypor stöds nu så länge handen är upprätt och håller stilla. Detta gör det mycket enklare för användarna att lära sig och använda gesten. Den här nya luftkranen ersätter den gamla via samma API, så befintliga program får det nya beteendet automatiskt efter omkompilering för HoloLens 2.
Röstkommandot Gaze och "Select"
Röstkommandon är en av de främsta interaktionsmetoderna i mixad verklighet. Det ger en kraftfull handsfree-mekanism för att styra systemet. Det finns olika typer av modeller för röstinteraktion:
- Det allmänna kommandot "Välj" som använder en klickaktivering eller incheckning som en sekundär indata.
- Objektkommandon (till exempel "Stäng" eller "Gör det större") utför och checkar in en åtgärd som en sekundär indata.
- Globala kommandon (till exempel "Gå till start") kräver inget mål.
- Konversationsanvändargränssnitt eller entiteter som Cortana har en AI-funktion för naturligt språk.
- Anpassade röstkommandon
Om du vill veta mer om information och en omfattande lista över tillgängliga röstkommandon och hur du använder dem kan du läsa vår vägledning för röstkommandon .
Gaze och HoloLens Clicker
HoloLens Clicker är den första kringutrustningsenheten som skapats specifikt för HoloLens. Det ingår i HoloLens (1:a generationen) Development Edition. Med HoloLens Clicker kan en användare klicka med minimal handrörelse och checka in som en sekundär indata. HoloLens Clicker ansluter till HoloLens (1:a generationen) eller HoloLens 2 med hjälp av Bluetooth Low Energy (BTLE).
Mer information och instruktioner för att koppla enheten
Bild: HoloLens Clicker
Blick och Trådlös Xbox-handkontroll
Trådlös Xbox-handkontroll utför en klickaktivering som en sekundär indata med hjälp av knappen A. Enheten mappas till en standarduppsättning åtgärder som hjälper dig att navigera och styra systemet. Om du vill anpassa styrenheten använder du Xbox Accessories-programmet för att konfigurera din Trådlös Xbox-handkontroll.
Så här parkopplar du en Xbox-kontrollant med datorn
Bild: Trådlös Xbox-handkontroll
Gaze och Xbox Adaptive Controller
Xbox Adaptive Controller är främst utformat för att uppfylla behoven hos spelare med begränsad rörlighet och är en enhetlig hubb för enheter som gör mixad verklighet mer tillgänglig.
Xbox Adaptive Controller utför en klickaktivering som en sekundär indata med hjälp av knappen "A". Enheten mappas till en standarduppsättning åtgärder som hjälper dig att navigera och styra systemet. Om du vill anpassa styrenheten använder du Xbox Accessories-programmet för att konfigurera din Xbox Adaptive Controller.
Xbox Adaptive Controller
Anslut externa enheter som växlar, knappar, monteringar och joysticks för att skapa en anpassad kontrollantupplevelse som är unikt din. Knapp-, tumsticks- och utlösarindata styrs med hjälpenheter som är anslutna via 3,5 mm-uttag och USB-portar.
Xbox Adaptive Controller-portar
Instruktioner för att koppla enheten
Mer information finns på Xbox-webbplatsen
Sammansatta gester
Trycka i luften
Lufttrycksgesten (och de andra gesterna nedan) reagerar bara på en specifik tryckning. Om du vill identifiera andra tryckningar, till exempel Meny eller Grepp, måste ditt program direkt använda de interaktioner på lägre nivå som beskrivs i avsnittet med två viktiga komponentgester ovan.
Tryck och håll ned
Håll håller helt enkelt luftkranens nedåtriktade fingerläge. Kombinationen av lufttryckning och hållning möjliggör olika mer komplexa "klicka och dra"-interaktioner när de kombineras med armrörelser, till exempel att plocka upp ett objekt i stället för att aktivera det eller mousedown sekundära interaktioner, till exempel att visa en snabbmeny. Försiktighet bör dock användas när du utformar för den här gesten, eftersom användarna kan vara benägna att slappna av sina handställningar under en utökad gest.
Manipulation
Manipuleringsgester kan användas för att flytta, ändra storlek på eller rotera ett hologram när du vill att hologrammet ska reagera 1:1 på användarens handrörelser. En användning för sådana 1:1 rörelser är att låta användaren rita eller måla i världen. Den första inriktningen för en manipuleringsgest bör göras med blick eller pekare. När kranen och hållningen startar, hanteras alla objektmanipulering av handrörelser, vilket gör att användaren kan se sig omkring medan de manipulerar.
Navigering
Navigeringsgester fungerar som en virtuell joystick och kan användas för att navigera i användargränssnittswidgetar, till exempel radiella menyer. Tryck och håll ned för att starta gesten och flytta sedan handen inom en normaliserad 3D-kub, centrerad kring den inledande pressen. Du kan flytta handen längs X-, Y- eller Z-axeln från värdet -1 till 1, där 0 är startpunkten. Navigering kan användas för att skapa hastighetsbaserade kontinuerliga rullnings- eller zoomningsgester, som att rulla ett 2D-användargränssnitt genom att klicka på mittenmusknappen och sedan flytta musen uppåt och nedåt.
Navigering med skenor syftar på möjligheten att känna igen rörelser i en viss axel tills ett visst tröskelvärde nås på den axeln. Detta är bara användbart när förflyttning i fler än en axel aktiveras i ett program av utvecklaren, till exempel om ett program har konfigurerats för att identifiera navigeringsgester över X- och Y-axeln men även har angett X-axel med räls. I det här fallet känner systemet igen handrörelser över X-axeln så länge de förblir inom en imaginär räls (guide) på X-axeln, om handflytt också sker på Y-axeln.
I 2D-appar kan användare använda lodräta navigeringsgester för att rulla, zooma eller dra i appen. Detta ingjuter virtuella finger i appen för att simulera beröringsgester av samma typ. Användarna kan välja vilka av dessa åtgärder som ska utföras genom att växla mellan verktygen i fältet ovanför programmet, antingen genom att välja knappen eller säga "<Rulla/dra/zooma> verktyg".
Mer information om sammansatta gester
Gestkännare
En fördel med att använda gestigenkänning är att du bara kan konfigurera en gestigenkänning för de gester som det aktuella målhologrammet kan acceptera. Plattformen gör bara tvetydighet vid behov för att skilja de specifika gester som stöds. På så sätt kan ett hologram som bara stöder lufttryck acceptera hur lång tid som helst mellan press och släpp, medan ett hologram som stöder både tryck och håll kan höja kranen till ett undantag efter tröskelvärdet för spärrtid.
Handigenkänning
HoloLens känner igen handgester genom att spåra positionen för endera eller båda händerna som är synliga för enheten. HoloLens ser händerna när de är i antingen redo tillstånd (baksidan av handen mot dig med pekfinger upp) eller det pressade tillståndet (baksidan av handen mot dig med pekfingret nedåt). När händerna är i andra poser ignorerar HoloLens dem. För varje hand som HoloLens identifierar kan du komma åt dess position utan orientering och dess pressade tillstånd. När handen närmar sig kanten av gestramen får du också en riktningsvektor, som du kan visa för användaren så att de vet hur de flyttar handen för att få tillbaka den där HoloLens kan se den.
Gestram
För gester på HoloLens måste handen vara inom en gestram, i ett intervall som de gestavkänningskamerorna kan se lämpligt, från näsa till midja och mellan axlarna. Användare måste utbildas på detta område av erkännande både för framgång av åtgärder och för sin egen komfort. Många användare förutsätter inledningsvis att gestramen måste vara inom deras vy via HoloLens och hålla upp armarna obehagligt för att interagera. När du använder HoloLens Clicker är det inte nödvändigt att händerna är inom gestramen.
För kontinuerliga gester i synnerhet finns det en viss risk för att användare flyttar händerna utanför gestramen medan de i mitten av gesten till exempel flyttar ett holografiskt objekt och förlorar sitt avsedda resultat.
Det finns tre saker som du bör tänka på:
Användarutbildning om gestramens existens och ungefärliga gränser. Detta lärs ut under Installationen av HoloLens.
Meddela användare när deras gester närmar sig eller bryter mot gestramgränserna i ett program i den grad att en förlorad gest leder till oönskade resultat. Forskning har visat de viktigaste egenskaperna hos ett sådant meddelandesystem. HoloLens-gränssnittet ger ett bra exempel på den här typen av meddelande – visuellt objekt, på den centrala markören, som anger i vilken riktning gränskorsningen sker.
Konsekvenserna av att bryta gestramens gränser bör minimeras. I allmänhet innebär detta att resultatet av en gest ska stoppas vid gränsen och inte vändas. Om en användare till exempel flyttar ett holografiskt objekt över ett rum bör rörelsen stoppas när gestramen bryts och inte återgå till startpunkten. Användaren kan uppleva viss frustration, men kan snabbare förstå gränserna och inte behöva starta om sina fullständiga avsedda åtgärder varje gång.