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.
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
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
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
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.
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.
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:
ThumbA.L
Fing1A.L
Fing2A.L
Fing3A.L
IK_Thumb.L
IK_Fing1.L
IK_Fing2.L
IK_Fing3.L
OBS! Kontrollera så att du inte har knappen "Connect this Bone to Parent" intryckt.
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
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
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
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
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.
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
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.
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:
Välj en vertexgrupp i listan
Avmarkera alla vertexpunkter
Markera de vertexpunkter som hör till vertexgruppen
Ta bort dem från vertexgruppen
Markera de vertexpunkter som ska höra till vertexgruppen
Lägg till dem till vertexgruppen
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:
Välj ArmHi.L i vertexgruppslistan
Avmarkera alla vertexpunkter
Klicka på knappen Select.
Om någon vertexpunkt är markerad så klicka på knappen Remove.
Markera de vertexpunkter som ligger närmast kring benet ArmHi.L.
Klicka Assign
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