Handcoach

Example: Hand coach

Handcoachen utlöser 3D-modellerade händer när systemet inte identifierar användarens händer. Den här funktionen är en "undervisningskomponent" som hjälper användaren när gesten inte har lärts ut. Om användarna inte har gjort den angivna gesten under en period loopar händerna med en fördröjning. Handcoachen kan användas för att representera att trycka på en knapp eller plocka upp ett hologram.

Handcoach tillhandahålls

Den aktuella interaktionsmodellen representerar en mängd olika gestkontroller, till exempel rullning, långt val och nära tryckning. Nedan visas en fullständig lista över befintliga handgester som tillhandahålls i MRTK:

Example of Near Select
Exempel på Nära markering – Används visar hur du väljer knappar eller stänger interagerande objekt

Example of Air Tap
Exempel på lufttryck – Används för att visa hur du väljer objekt som är långt borta

Example of Move
Exempel på Flytta ett objekt i blanksteg som används för att visa hur du flyttar ett hologram i rymden

Example of Rotate
Exempel på Rotate-Used som visar hur du roterar hologram eller objekt

Example of Scale
Exempel på skalning – används för att visa hur du ändrar hologram så att de blir större eller mindre

Example of Palm Up
Exempel på Palm up – Föreslagen användning, för att få upp handmenyer

Example of HandFlip
Exempel på handvändning – ett annat sätt att ta upp handmenyer

Example of Scroll
Exempel på rullning – används för att bläddra i en lista eller ett långt dokument

Designbegrepp

För Hololens2 har vi utformat handinteraktioner baserade på instinktiva och naturliga handgester. Vi tror att dessa är intuitiva för de flesta användare, så vi skapade inte dedikerade gestinlärningsögonblick. I stället skapade vi handcoachen som hjälper användarna att lära sig om de här gesterna om de fastnar eller inte känner till holograminteraktioner. Utan ett inlärningsmoment kände vi att det bästa alternativet är att visa användarna hur de utför en åtgärd genom att visa att det är det bästa alternativet. Vi upptäckte att användarna kunde räkna ut gesten men behövde lite vägledning. Om vi upptäcker att en användare inte interagerar med ett objekt under en period utlöses en handcoach som visar rätt hand- och fingerplacering.

Intuitivt

När animera händer, det bör vara uppenbart och bör inte orsaka någon förvirring. Handanimeringen är en representation av den gest som du försöker uppmana användaren att förstå.

Om du till exempel vill att en användare ska trycka på en knapp utlöses en hand som trycker på en knapp.

Example: Hand coach Near Tap
Hand coach demonstrerar nära knackar en pärla

Handskala

Vi testade olika handstorlekar med UI-menyerna och kände att om händerna var trogen storlek gav det en hotfull känsla. Om de var för små var det svårt att se och förstå gesten.

Röst över och händer

Förvänta dig inte att användarna kan lyssna på en uppsättning instruktioner via voice over och titta på olika instruktioner via Hand coach. Sekvensera dina instruktioner för att hjälpa användarna att fokusera jämfört med att konkurrera om deras uppmärksamhet för att minska sensorisk överbelastning.

Kan jag skapa en egen?

Ja! Vi rekommenderar att du skapar din egen unika gest för ditt spel och bidrar tillbaka till communityn! Vi har tillhandahållit en Maya-fil med en Rigged-hand som kan användas för din app, som kan laddas ned här: Ladda ned HandCoach_MRTK.zip

Example of Animated Hands in Maya
Exempel på animerad hand som petar en ruta i Maya

Rekommenderat redigeringsverktyg

Bland 3D-artister väljer många att använda Autodesks Maya, som kan använda HoloLens för att förändra hur tillgångar skapas. Handfilen som tillhandahålls är en Maya Binary File, så vi rekommenderar att du använder Maya för att animera och exportera händerna. Om du föredrar att använda ett annat 3D-program, här är en . FBX: Ladda ned HandCoachMRTK_FBX.zip för att skapa en egen styrenhetskonfiguration.

Om du använder den nedladdningsbara maya-handfilen rekommenderas du att skala ned händerna i unity till 0.6.

Example: Hand coach rig in Maya
Riggade händer

Tekniska specifikationer

  • Tvåhandsfil är tillgänglig i Maya Ascii-format
  • Höger och vänster hand är tillgänglig i Maya Binary-format
  • Ange Maya-filen till 24 FPS
  • I filen finns en vänster- och högerhand, som kan användas för två hand- eller enhandsgester. Den högra handen visas bara som standard.
  • Vi föreslår att du lämnar en buffert på cirka 10 bildrutor i början och slutet för toningar
  • Om du animerar ett objekt med ett angivet mål är det bästa praxis att animera till en standardruta eller Null.
  • Om handen animerar ett fysiskt objekt, till exempel en ruta, är det bästa praxis att inte animera översättningen i Maya utan vänta med att animera den i Unity eller i Kod.
  • Synlig animering bör vara 1,5 sek för all meningsfull information som ska förmedlas
  • När du känner dig nöjd med animeringen:

Exportera från Maya

När du är nöjd med animeringen

  • Markera alla joints: Välj > Hierarki

    Example: Hierarchy in Menu

  • Baka ut animeringen: Växla till Animeringsnyckel >> Baka animering

    Example: Bake Animation Menu Location

  • Ta bort styrenhetsriggen: MainR_Grp > eller MainL_Grp

    Example: Controller Rig Menu Location

  • Exportera som FBX: Välj JNT + Mesh: Val av filexport > (alternativruta) > Exportera markering

    Example: Export selection Menu Location

    Example: Menu Location

    Example: Export Options Menu Location

När du exporterar som en FBX och hämtas till Unity skalar du ned händerna till 0,6. Vi fann att detta var perfekt balans för att visa händerna.

Example: Unity Settings
Unity Inställningar för HandCoach_R prefab som finns i MRTK

Implementera händerna i ditt Unity-projekt

Bästa praxis

  • Vi föreslår att du skalar ned händerna i unity till 0,6

  • Händerna ska spelas två gånger och om de inte slutförs loopas de kontinuerligt tills gesten har slutförts. Händerna bör loopas två gånger för att säkerställa att användaren har tid att registrera sig och se gesten. Händerna bör tona in och ut mellan slingorna.

  • Om användarens händer är synliga av HL2-kameror men användarna inte gör den interaktion som krävs av dem visas händerna efter 10 sekunder.

  • Om användarens händer INTE syns av HL2-kameror visas händerna efter 5 sekunder.

  • Om användarens händer spåras synligt av HL2-kameror mitt i animeringen slutförs animeringen och tonas ut.

  • Om du inkluderar voice over föreslår vi att det motsvarar handens gest.

  • Om du har lärt händerna minst en gång upprepar du bara gesten om det upptäcks att användaren har fastnat.

  • Om specifika finger-/handpositioner är kritiska ska du se till att användarna tydligt kan se dessa nyanser i animeringen. Prova att fiska händerna så att de viktigaste delarna är tydligt synliga.

  • Om du märker förvrängning i händerna måste du gå till Unitys kvalitetsinställningar för att öka antalet ben. Gå till Unitys Edit > Project Inställningar > Quality > Other Blend Weights ( Andra > blandningsvikter). Se till att "4 ben" är markerade för att se Smooth Joints.

    Example: Project Settings Window

Vad du bör undvika

Se även