Utbildning
Modul
Den här kursen ger användaren en grundläggande förståelse för alla grundläggande element i MRTK.
Den här webbläsaren stöds inte längre.
Uppgradera till Microsoft Edge och dra nytta av de senaste funktionerna och säkerhetsuppdateringarna, samt teknisk support.
Handbussen är en 3D-modellerad hand som utlöses när systemet inte identifierar användarens händer. Detta implementeras som 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. Handcoach kan användas för att representera att trycka på en knapp eller plocka upp ett hologram.
Den aktuella interaktionsmodellen representerar en mängd olika gestkontroller, till exempel rullning, långt urval och nära tryckning. Nedan visas en fullständig lista över befintliga Hand coach-exempel:
Du hittar exempel i HandCoachExample-scenen under: MixedRealityToolkit.Examples/Experimental/HandCoach/Scenes
Du hittar tillgångarna under: MixedRealityToolkit.SDK/Experimental/HandCoach
Om du märker snedvridningar på det flådda nätet måste du se till att projektet använder rätt mängd leder.
Gå till Unitys Redigera > projektinställningar > Kvalitet > Andra > blandningsvikter. Se till att "4 ben" har valts för att se Smooth Joints.
Skriptet InteractionHint.cs
innehåller omslutningsfunktioner för att utlösa animeringar och toningar för handriggen.
Om du vill konfigurera ett interaktionstips rekommenderar vi att du använder de angivna prefaberna "StaticHandCoachRoot_L.prefab" och "StaticHandCoachRoot_R.prefab". Den här prefab innehåller InteractionHint-skriptet och handriggen samt rätt hierarki för att säkerställa att de angivna tipsanimationerna fungerar som avsett. Annars måste du placera skriptet på en gameObject en överordnad nivå upp från din handrigg med animatör.
HideIfHandTracked Det här booleska värdet anger om handspårningstillstånd ska användas för att dölja visuella objekt när en användares händer spåras. Om detta är inställt på false används endast skriptegenskapen "customShouldHideVisuals" för att avgöra om tipset ska döljas.
MinDelay Den här egenskapen anger den minsta fördröjningen för att visa de visuella objekten. Som standard visas de visuella objekten för handen efter så här många sekunder om användarens händer inte spåras.
MaxDelay Den här egenskapen anger den maximala fördröjningen för att visa de visuella objekten. Som standard visas de visuella objekten för handen efter så här många sekunder även om användarens händer spåras.
UseMaxTimer Om det här booleska värdet är inställt på falskt inaktiveras maxtimern och handtipset kan bara visas när användarens händer inte visas eller om det anpassade villkoret returnerar falskt.
Upprepar Den här egenskapen styr hur många gånger ledtrådsanimeringen spelas upp när min- eller maxtimern har passerat. Tipset döljer och väntar sedan på fördröjningen igen.
Autoaktivera När det här booleska värdet är true körs tipset automatiskt genom timerlogiken när GameObject för skriptet är aktivt i hierarkin och skriptet är aktiverat. Detta bör bara anges till falskt om du tänker kontrollera tipsets utseende manuellt och försvinna via kod.
AnimationState Namnet på animeringstillståndet som ska spelas upp när tipset är aktivt. Detta måste anges innan funktionen StartHintLoop() anropas (under OnEnable om autoaktivering är markerad).
Toningar är som standard 0,5 sekunder, så alla anpassade animeringar som skapats för användning med riggen bör vara minst 1,5 sekunder för all meningsfull information som ska förmedlas
Det angivna standardläget tonas in och tonas ut, Fade_In och Fade_Out kan justeras genom att ändra tidsstämpeln för den andra nyckelramen för att ange toningslängden.
Animatören och skriptet har konfigurerats på ett sätt som gör installationen så enkel som möjligt. Om du vill lägga till nya animeringstillstånd importerar du bara din fbx, kontrollerar att animeringsnamnet har angetts med ett distinkt namn och drar animeringen till animatören.
Skriptet MoveToTarget.cs innehåller funktioner för att flytta handtipset från en spårningsposition till en målposition över tid.
De angivna prefaberna "MovingHandCoachRoot_L.prefab" och "MovingHandCoachRoot_R.prefab" innehåller en MoveToTarget i sina hierarkier. Om du vill använda det här skriptet i din egen konfiguration måste du placera det på rotspelobjektet som innehåller animatören för din rigg.
I ditt anpassade skript gör du ett anrop till Follow() medan du vill att handriggen ska följa TrackingObject och sedan göra ett anrop till MoveToTargetPosition() när du vill att handriggen ska påbörja sin rörelse till TargetObject.
I animeringen som behöver flyttas anger du två händelser: en med ett anrop till Follow() och en med ett anrop till MoveToTargetPosition(). Följ bör anges på den första nyckelramen, eftersom den gör att handriggen följer din TrackingObject. MoveToTargetPosition ska anges på nyckelramen där du vill att riggen ska börja flyttas till målet. Så här används skriptfunktionerna i de angivna prefaberna.
Skriptet RotateAroundPoint.cs innehåller funktioner för att rotera handtipset runt en pivotpunkt över tid.
De angivna prefaberna "RotatingHandCoachRoot_L.prefab" och "RotatingHandCoachRoot_R.prefab" innehåller en RotateAroundPoint i sina hierarkier. Om du vill använda det här skriptet i din egen konfiguration måste du placera det på rotspelobjektet som innehåller animatören för din rigg.
I ditt anpassade skript anropar du RotateToTarget() när du vill att handriggen ska börja rotera runt CenteredParent. När du vill att positionen ska återställas till den ursprungliga pivotpositionen gör du ett anrop till ResetAndDeterminePivot().
I animeringen som behöver flyttas anger du två händelser: en med ett anrop till ResetAndDeterminePivot() och en med ett anrop till RotateToTarget(). ResetAndDeterminePivot bör anges på den första nyckelramen, eftersom den gör att handriggen återställs till pivotpositionen. RotateToTarget ska anges på nyckelramen där du vill att riggen ska börja rotera runt CenteredParent. Så här används skriptfunktionerna i de angivna prefaberna.
Utbildning
Modul
Den här kursen ger användaren en grundläggande förståelse för alla grundläggande element i MRTK.