Handcoach

Exempel: Handcoach

Handcoach 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 att vägledas när gesten inte har lärts ut. Om användarna inte har gjort den angivna gesten under en period, loopas händerna med en fördröjning. Handcoachen kan användas för att representera att trycka på en knapp eller hämta ett hologram.

Handcoach tillhandahålls

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

Exempel på närvälj
Exempel på Närvälj – Används för att visa hur du väljer knappar eller stänger objekt som kan interageras

Exempel på tryck i luften
Exempel på tryck i luften – Används för att visa hur du väljer objekt som är långt bort

Exempel på flytt
Exempel på hur du flyttar ett objekt i ett utrymme som används för att visa hur du flyttar ett hologram i ett utrymme

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

Exempel på skalning
Exempel på skalning – Används för att visa hur hologram manipuleras till att vara större eller mindre

Exempel på Att bli upp
Exempel på Upp– Föreslagen användning för att öppna handmenyer

Exempel på HandFlip
Exmaple of Hand Flip – Ett annat sätt att ta fram handmenyer

Exempel på rullning
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 interaktioner med out hand baserat på språkiga och naturliga handgester. Vi tror att dessa är intuitiva för de flesta användare, så vi skapade inte dedikerade gestinlärningsögonblicks. I stället skapade vi handcoachen för att hjälpa användarna att lära sig mer om de här gester om de fastnar eller inte är bekant med holograminteraktioner. Utan ett inlärnings ögonblick kände vi att det bästa alternativet är att visa användarna hur de ska utföra en åtgärd genom att visa den. 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 korrekt hand- och fingerplacering.

Intuitivt

När du animerar händer bör det vara uppenbart och bör inte orsaka förvirring. Handanimeringen är en representation av gesten 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.

Exempel: Handcoach Near Tap
Handcoach som demonstrerar nära att trycka på en gem

Handskalning

Vi testade olika handstorlekar med UI-menyerna och kände att om händerna var sanna för storleken 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 hand

Förvänta dig inte att användarna kan lyssna på en uppsättning instruktioner via voice over och titta på olika instruktioner via Handcoach. Sekvens dina instruktioner för att hjälpa användarna att fokusera eller konkurrera om deras uppmärksamhet för att minska sensorisk överbelastning.

Kan jag skapa en egen?

Ja! Vi rekommenderar att du skapar en egen unik gest för ditt spel och bidrar till communityn! Vi har angett en Maya-fil med enEded-hand som kan användas för din app, som du kan ladda ned här: Ladda ned HandCoach_MRTK.zip

Exempel på animerade händer i Maya
Exempel på animerad Hand Poking a box i Maya

Rekommenderat redigeringsverktyg

Bland 3D-konstnärer väljer många att använda Autodesks Maya, som kan använda HoloLens för att transformera hur tillgångar skapas. Hands-filen är en maya-binär fil, 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 finns här en . FBX: Ladda HandCoachMRTK_FBX.zip för att skapa din egen styrenhetskonfiguration.

Om du använder den nedladdningsbara maya Hand-filen föreslår vi att du skalar ned händerna i Unity till 0.6.

Exempel: Handcoach rig i Maya
Trediga händer

Tekniska specifikationer

  • Tvåhandsfiler är tillgängliga i Maya Ascii-format
  • Höger och vänster hand är tillgängligt i maya-binärformat
  • Ange Maya-filen till 24 FP
  • I filen finns det en vänster- och högerhand som kan användas för två handhänta eller gester med en hand. Höger hand 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 en hand animerar ett fysiskt objekt, till exempel en ruta, är det bästa praxis att inte animera översättningen i Maya utan att vänta med att animera den i Unity eller i Kod.
  • Synlig animering ska 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 typer av objekt: Välj > hierarki

    Exempel: Hierarki på menyn

  • Skapa animeringen: Växla till Animering > Key > Bake Animering

    Exempel: Menyplats för bake-animering

  • Ta bort Controller Rig: Outliner > MainR_Grp eller MainL_Grp

    Exempel: Menyplats för styrenhetsdator

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

    Exempel: Exportera markeringsmenyns plats

    Exempel: Menyplats

    Exempel: Menyplats för exportalternativ

När du exporterar som FBX och förs in i Unity skalar du ned händerna till 0,6. Vi upptäckte att detta var perfekt balans för att visa händerna.

Exempel: Unity Inställningar
Unity Inställningar for HandCoach_R prefab som finns i MRTK

Implementera Praktiska in 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 upp två gånger och om de inte slutförs loopas de kontinuerligt tills gesten har slutförts. Händerna ska loopas två gånger för att se till att användaren har tid att registrera sig och se gesten. Händerna ska tona in och ut mellan loopar.

  • Om användarens händer visas 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 visas av HL2-kameror visas händerna efter 5 sekunder.

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

  • Om du tar med voice over så föreslår vi att det motsvarar gesten för hand.

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

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

  • Om du märker att du har ont om händer måste du gå till Unitys kvalitetsinställningar för att öka antalet stomme. Gå till Unity's Edit > Project Inställningar > Quality > Other > Blend Weights (Andra > Blend Weights). Se till att "4 grundor" har valts för att se Smooth-bevaring.

    Exempel: Project Inställningar Windows

Vad du bör undvika

  • Skala händerna för stort
  • placera händerna för nära användaren
  • Händerna bör bara läras ut en gång. Över undervisning kan orsaka förvirring och rörighet
  • Hämta den senaste MRTK:en till Unity här: https://github.com/microsoft/MixedRealityToolkit-Unity
    • Material: Teaching_Hand2
    • Skript: Se MRTK-riktlinjer för MRTK-handcoach
    • Inställning per projekt
      • Scen inställd på UWP: Instruktion finns på konfigurera Unity-Project för Windows Mixed Reality

Se även