Handcoach
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:
Exempel på Nära markering – Används visar hur du väljer knappar eller stänger interagerande objekt
Exempel på lufttryck – Används för att visa hur du väljer objekt som är långt borta
Exempel på Flytta ett objekt i blanksteg som används för att visa hur du flyttar ett hologram i rymden
Exempel på Rotate-Used som visar hur du roterar hologram eller objekt
Exempel på skalning – används för att visa hur du ändrar hologram så att de blir större eller mindre
Exempel på Palm up – Föreslagen användning, för att få upp handmenyer
Exempel på handvändning – ett annat sätt att ta upp handmenyer
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 vore det bästa alternativet att visa användarna hur de ska utföra 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.
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 watch 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
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 omvandla 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.
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:
- Markera alla leder och baka nyckelramar
- Ta bort kontrollanterna, välj lederna och nätet och exportera som en FBX
- Om det finns flera animeringar kan du använda Mayas inbyggda spelexportör: https://knowledge.autodesk.com/support/maya/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/Maya/files/Game-Exporter-htm.html
Exportera från Maya
När du är nöjd med animeringen
Markera alla joints: Välj > Hierarki
Baka ut animeringen: Växla till Animeringsnyckel >> Baka animering
Ta bort styrenhetsriggen: MainR_Grp > eller MainL_Grp
Exportera som FBX: Välj JNT + Mesh: Val av filexport > (alternativruta) > Exportera markering
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.
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 på händerna måste du gå till Unitys kvalitetsinställningar öka antalet ben. Gå till Unitys Redigera > projektinställningar > Kvalitet > Andra > blandningsvikter. Se till att "4 ben" har valts för att se Smooth Joints.
Vad du bör undvika
- Skala händerna för stora
- Placera händerna för nära användaren
- Händer bör bara läras ut en gång. Över undervisning kan orsaka förvirring och röra
- Hämta den till Unity och ladda ned den senaste MRTK:en 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 i artikeln Konfigurera ett nytt OpenXR-projekt med MRTK .