Rigga en hand

Blender 2.42a

Blender har utvecklat och förnyat stora delar av sitt Armature-system, varför många gamla tutorials för riggning av hand och fot inte riktigt stämmer. Det här är ett försök att göra en ny version av Lyobumir Kovachevs gamla lektion.

Innan du sätter igång vill jag bara påpeka att det är mycket ovanligt att någon gör rätt på första försöket i den här uppgiften. Det vanligaste (och mest lärorika) är att man gör om den här riggningen minst tjugo gånger innan man är nöjd med hur det fungerar.

Handen

Här är ett sätt att rigga en hand. Vi kommer att jobba med en enkel arm och hand i det här exemplet (figur 1)


Figur 1: En enkel hand




Skapa armaturen

Det första vi ska göra är att skapa ett armaturobjekt inuti geometrin. Börja med att dela upp fönstren så att du kan se modellen uppifrån och från sidan (i mitt fall tittar jag uppifrån längs Z-axeln – NUM7 – och från sidan längs X-axeln – NUM3).


Figur 2: Vy uppifrån och från sidan




Armen

Placera 3D-cursorn i början av armen. Tryck SPACE/Add/Armature. Ett armature-ben skapas med roten vid 3D-cursorn. Benets spets är markerad, vilket passar bra eftersom det är den som ska redigeras för att få skelettet att passa i geometrin.


Figur 3: Ett första ben




Flytta spetsen till armbågen (G för att Grabba/Flytta/Translatera). Se till så att den hamnar rätt ur båda vyerna. När du är nöjd trycker du E för att extrudera ut ett till ben som sitter ihop med det spetsen hos det första. När du extruderar ben så hamnar de i Grab-läge direkt (precis som när du extruderar vanlig geometri), så det är bara att flytta spetsen för det nya benet till handleden. Bekräfta med LMB.


Figur 4: Extrudera ben




Det finns olika sätt att bygga vidare på skelettkedjor. Extruderingsmetoden är en, en annan är att, med en skelettspets markerad, CTRL+LMB-klicka där du vill ha spetsen på nästa ben. Prova det för nästa steg i kedjan. Se till så att handledsspetsen är markerad och CTRL+LMB-klicka mitt i handen. Alla de tre benen i armen sitter ihop. De bildar en kedja med roten i början av armen och spetsen i handen:


Figur 5: Handben




Vi ska lägga till ett ben som inte sitter ihop med armkedjan. Det benet ska fungera som handtag när vi så småningom skapar något som kallas för IK-solvers. Vi vill ha roten på detta nya ben på samma ställe som handleden. Markera kulan i handleden och tryck SHIFT+S för att få upp en meny där du kan välja att placera 3D-cursorn exakt i markeringen.


Figur 6: Cursor to Selection




Tryck SPACE/Add/Bone och lägg till ett ben som pekar rakt ut från handleden.


Figur 7: IK bone




Fingrarna

Du gör fingrarna på samma sätt som armen. Varje finger är en egen kedja bestående av tre ben, samt ett fristående ben som handtag för IK-solvers. När du har skapat det första fingret kan du enkelt kopiera (D) detta till de andra fingrarna. Titta på resultatet från flera vinklar för att vara säker på att benen ligger inuti geometrin.


Figur 8: fingrar




Kopiera även över ett finger till tummen, men ta bort det första benet.


Figur 9: Tumme






Alla ben är utplacerade (film):

När alla ben är skapade är det en bra idé att lägga undan geometrin i ett eget dolt lager så länge.

OBS! I de följande stegen är det viktigt att du inte flyttar skelettet så att det kommer ur läge. När vi provar skelettets rörlighet så gör vi det genom att använda tangentbordskommandona G och R för att flytta eller rotera, och vi fullföljer aldrig operationen, utan ångrar oss ur det hela med ESC. Slå gärna på geometrilagret ibland för att kontrollera att allting fortfarande ligger rätt.

Namnge alla ben

Det är dags att namnge alla ben. Det är tråkigt, men man har stor nytta av det senare. Både när man sätter upp sina IK-solvers och senare när man binder skelettet till geometrin. Så här gjorde jag:


Figur 10: Namn på benen




De två andra fingrarna följer samma mönster som Fing3.

Parenting

Nu ska vi koppla ihop de fristående delarna i en föräldrahierarki. Markera ThumbA.L och ange Hand.L som förälder i menyn.


Figur 11: Parenting




Gör samma sak med rotbenet för varje finger och fingrarnas samt tummens IK-ben. Alla dessa ben ska ha Hand.L som förälder:

OBS! Kontrollera så att du inte har knappen "Connect this Bone to Parent" intryckt.

Testa att relationen fungerar

För att kontrollera så att föräldrarelationen fungerar som den ska, kan du markera Hand.L och gå ut i Pose Mode (CTRL+TAB eller välj i Mode-menyn). När du är ute i Pose Mode blir benen ljusblå. Prova att trycka R och testrotera Hand.L (bekräfta inte rotationen). Om handens alla ben följer med så fungerar det. Avbryt rotationen med ESC.


Figur 12: Testa relationen




IK-solvers

Nu är det dags att lägga på IK-solvers. Det gör man från Pose Mode, och F9-fönstret (det går också att lägga till dem från F7-fönstret). Markera Hand.L och lägg till en IK Solver genom att trycka på Add Constraint-knappen och välja IK Solver i menyn.


Figur 13: Lägg till IK-solver




När du har lagt till IK-solvern får du en panel med alternativ. För att solvern ska fungera ska du ange ett objekt som kan fungera som kontroll. När du anger en Armatur som objekt får du dessutom möjlighet att lägga till ett specifikt ben. För armen ska du alltså ange ”Armature” som Objekt, och ”IK_Arm.L” som ben. När du skrivit in namnet på ett objekt och ben som finns, så växlar Const-rutan från rött till grått. Dessutom ska du avmarkera ”Use Tip”.


Figur 14: Inställningar för IK-solvern




Testa IK-solvern

Prova att markera IK_Arm.L och flytta det (G). Om allt fungerar som det ska så böjer sig armen vid armbågen, och handen följer efter. Sluta flytta genom att trycka ESC.


Figur 15: Testa solver




Fingrarna

När vi gör solvers för fingrarna gör vi lite annorlunda. Här är ett exempel med ett av fingrarna. Markera Fing1C.L. Lägg till en IK-solver och ange Armature och IK_Fing1.L i rutorna. Låt ”Use Tip” vara aktiverad, och skriv in 3 i rutan ChainLen. ChainLen styr hur mycket av ett skelett som ska styras av IK-solvern, och i vårt fall är det bara fingrets kedja med tre ben som ska röra sig.


Figur 16: Fingrarnas IK-solver




Testa fingret

Det är alltid en bra idé att testa sina solvers direkt när man skapat dem, så ser man om något gått snett. Proceduren är samma som för armen: Markera IK_Fing1.L och flytta på den för att se om den beter sig som du vill. Tryck ESC för att sluta flytta och återgå till normalläget. Testa även att flytta IK_Arm.L igen, för att se så att de olika delarna inte hamnar i konflikt med varandra.


Figur 17: Testa fingret




Gör de övriga fingrarna likadant som det första. Kom ihåg att tummen bara har två ben i sin kedja, så ChainLen måste vara 2 där.

Nu är du klar med skelettet. Du kan ta tag i de olika IK-benen och använda dem för att böja skelettet. Vill du vrida handleden kan du göra det genom att markera Hand.L-benet direkt.

Skinning – att koppla ihop skelett och geometri

När skelettet är riggat och klart kan du koppla ihop det med geometrin. Proceduren kallas för ”skinning”, och handlar om att bestämma relationen mellan skelettet och vertexpunkter i geometrin.

Gå ut i Object Mode (Från Pose Mode är genvägen CTRL+TAB). Visa lagret med geometrin (handen). Markera geometrin, SHIFT-markera skelettet. Tryck CTRL+P och välj Armature i menyn.


Figur 18: Parent options




Välj ”Name Groups” i den följande menyn.

Markera skelettet och aktivera Draw Names i F9-fönstret.

Markera geometrin och gå ut i EditMode. I F9-fönstrets vänstra del finns en panel för Vertex Groups. Vertexpunkternas relation till skelettet styrs av vertexgrupperna. Vad vi ska göra nu är att se till så att varje vertexpunkt hör till rätt vertexgrupp. Vi kommer att jobba väldigt mycket med knapparna i Vertex Groups-panelen, så här är en förklaring till dem. Det blir tydligare när vi börjar arbeta med dem.


Figur 19: Vertexgrupp-panelen




Ta bort vertexgrupper

Vi kan börja med att ta bort de vertexgrupper som rimligen inte behövs. Varje IK-handtag är till för att styra resten av skelettet, men ska inte deformera geometrin. Så ta bort alla vertexgrupper som börjar med ”IK_” genom att välja dem en och en i listan och klicka på Delete.

Lägg in vertexpunkter i rätt grupper

Blender har ibland lagt till vertexpunkter i vissa grupper, men inte alltid. Och ibland ligger det vertexpunkter i helt fel grupper. Så nu ska vi följa en ganska enkel, men tråkig, procedur:

  1. Välj en vertexgrupp i listan

  2. Avmarkera alla vertexpunkter

  3. Markera de vertexpunkter som hör till vertexgruppen

  4. Ta bort dem från vertexgruppen

  5. Markera de vertexpunkter som ska höra till vertexgruppen

  6. Lägg till dem till vertexgruppen

  7. Kontrollera så att det gick bra

Frågan är vilka vertexpunkter som ska höra till vilken vertexgrupp. Tänk så här: Varje vertexgrupp motsvarar ett ben. När det benet rör sig kommer vertexpunkterna i motsvarande vertexgrupp att följa efter. De vertexpunkter som sitter i ett visst finger ska röra sig när fingerbenet rör sig, men inte när benet i det angränsande fingret gör det.

OBS!

Notera att vi har en ganska lågupplöst modell. D.v.s. att vi har ganska få vertexpunkter. Det är en stor fördel nu när vi ska jobba med vertexgrupper, eftersom det blir enklare att jobba när man har få vertexpunkter. Det är ofta en bra idé att jobba med lågupplösta modeller och subSurf-modifiers istället för att ha modeller med massor av vertexpunkter.

Nu sätter vi igång:

  1. Välj ArmHi.L i vertexgruppslistan

  2. Avmarkera alla vertexpunkter

  3. Klicka på knappen Select.

  4. Om någon vertexpunkt är markerad så klicka på knappen Remove.

  5. Markera de vertexpunkter som ligger närmast kring benet ArmHi.L.

  6. Klicka Assign

  7. Kontrollera så att det gick bra genom att avmarkera alla vertexpunkter och klicka Select igen.


Figur 20: Överarmen

Nästa vertexgrupp är ArmLo.L


Figur 21: Underarmen

Notera att jag tar med vertexpunkterna runt armbågen igen. Det är för att båda benen ju kommer att deformera armbågen.

Fortsätt med resten av vertexgrupperna. Räkna med att det tar några timmar om du inte är snabb på att navigera runt i 3D-rymden. Det är en bra idé att testa bindningen genom att röra på skelettet ibland under den här processen. Naturligtvis på samma sätt som förut, där vi ångrar förflyttningen med ESC så att vi inte flyttar saker ur position.

Var noggrann, men kom ihåg att om du råkar lägga in en vertexpunkt i en grupp där den inte hör hemma så kan du enkelt ta bort den genom att klicka på Remove-knappen.

Om allt går väl så har du en hand och arm som du enkelt kan sätta i olika poser.


Figur 22: Händer