Blender 3D – Rigging – Inleiding

print
Deze handleiding maakt deel uit van de cursus:


Inhoud


Wat vooraf ging


Inleiding

Rigging is het leggen van relaties tussen objecten, zodat het verplaatsen van het ene object een verplaatsing bij een ander object kan veroorzaken. Dit gebeurt door het toevoegen van controlepunten, een “geraamte” (Armature) bestaande uit “bones”, al dan niet voorzien van beperkingen, regels (Constraints).

Zonder Rigging zou een object statisch zijn, onbeweegbaar, tenzij in zijn geheel. Rigging maakt animatie mogelijk.

In mijn handleidingen beperk ik me tot de essentiële werking. Wie meer wilt weten bekijkt de video’s die ik aanbied in de handleidingen.

Onderstaande video geeft u een overzicht van wat Rigging is.


Parenting

Rigging is het leggen van relaties tussen objecten. Zo’n relatie is een ParentChild relatie of ook Parenting genoemd.

In een ParentChild relatie erft de Child de transformatie (locatie, rotatie en schaal) van de Parent. Dus, als u de Parent verplaatst, roteert of schaalt zal de Child mee verplaatsen, roteren of schalen. De Child behoudt echter ook nog zijn eigen transformatie los van, of bovenop, de transformatie van de Parent.

Bijvoorbeeld, een hand, de Parent, heeft 5 vingers, Children. Als u uw hand verplaatst zullen de vingers mee verplaatst worden. Daarbovenop kunnen de vingers zich ook nog, binnen bepaalde beperkingen (Constraints) bewegen. Een ander voorbeeld is bv. de bladeren aan de takken van een boom. Als de tak beweegt zullen de bladeren die aan die tak hangen (de Children) meebewegen met de tak (de Parent) maar de bladeren kunnen, door de wind, ook nog afzonderlijk bewegen.

Weet dat een Parent meerdere Children kan hebben maar een Child maar één Parent.

Parenting maakt de transformatie van een groep objecten gemakkelijker.

Om dit te testen:

  • Voeg een tweede kubus toe, schaal deze met een factor 2 en geef het de nieuwe kubus een passende naam (bv. ParentCube).

Deze nieuwe ParentCube moet de Parent worden, de originele, kleinere Cube de Child.

  • Selecteer de Child (kleine kubus) en met de Shift-toets ingedrukt de Parent (grote kubus). Pas op, deze volgorde is belangrijk, de Parent selecteert u als laatste. Het laatst geselecteerde object is oranje geselecteerd en de naam is eveneens geselecteerd.

  • Kies voor ObjectParentObject om de ChildParent relatie te maken.

  • De ChildParent relatie is gelegd.

  • Als u nu de Parent transformeert (verplaatst, roteert of schaalt) zal de Child mee transformeren.

  • Weet dat het Pivot Point (draaipunt) van de Child genegeerd wordt indien de Parent geroteerd wordt.

  • Indien u de Child, los van de Parent, roteert wordt wel het eigenlijke Pivot Point van de Child gebruikt.

Weet dat een Parent meerdere Children kan hebben maar een Child maar één Parent.

  • Hier heb ik een Cylinder toegevoegd als tweede Child volgens bovenstaande methode.

  • Een Parent kan op zijn beurt weer een Child zijn. In onderstaand voorbeeld heb ik de huidige Parent als Child van Suzanne gemaakt.

Het kan vaak handig zijn een Empty te gebruiken als Parent.

  • U voegt een Empty toe via AddEmptyPlain Axes.

  • Deze Empty vormt dan een centraal transformatiepunt voor alle Children.

  • U kunt de ChildParent relatie beëindigen door één van beiden te selecteren en te kiezen voor Object (of door rechtsklikken) – ParentClear Parent of Clear and Keep Transformation om de transformatie, komende van de Parent, te behouden. Clear Parent Inverse maakt de Parent Child transformaties ongedaan maar behoudt de Parenting.

  • U kunt dit ook bekomen via Alt + P.

Onderstaande video demonstreert dit en nog wat meer.


Armature

Armatures, ook wel Rigs of Skeletons genoemd is de basis voor animaties. Armatures bestaan uit meerdere Bones. Bones zijn individueel beweegbare delen die u kunt transformeren (verplaatsen, roteren en schalen).

Armature toevoegen

  • U voegt een Armature toe in Object-mode via AddArmature.

  • De Armature is niet goed zichtbaar, in de eigenschappen ArmatureViewport Display vinkt u In Front aan.

  • U kunt ook de Cube onzichtbaar maken om de Armature beter te zien.

Modes

Een Armature heeft 3 modes. De gekende Object-mode en Edit-mode en een Pose-mode die gebruikt wordt voor animatie.

Bone structuur

In bovenstaande afbeelding ziet u in de Scene Collection dat de Armature momenteel bestaat uit één Bone.

Een Bone bestaat uit:

  • De Start joint ook Root of Head genoemd.
  • De Body.
  • De End joint ook Tip of Tail genoemd.

  • Ga naar Edit-mode.
  • Merk op dat u de Root en Tip afzonderlijk kunt selecteren en verplaatsen.

  • Als u de Body selecteert dan selecteert u meteen eveneens de Root en de Tip, dus de volledige Bone.

Bones toevoegen

Er zijn verschillende manieren om Bones toe te voegen. De eerste, is misschien de moeilijkste.

Via Add Single Bone

  • Plaats de cursor waar de Bone moet komen.
  • Klik op AddSingle Bone.

  • Er is een nieuwe Bone, op de plaats van de cursor, toegevoegd.

Maar… er is geen Parent – Child relatie tussen deze twee Bones. We moeten deze relatie zelf leggen.

  • Selecteer beide Bones. Let op, de Parent, de eerste Bone, moet u als laatste selecteren.
  • Druk op Ctrl+P.
  • U krijgt 2 opties: Connected en Keep Offset.

  • Kies eerst voor Keep Offset (afstand behouden).

  • U merkt dat de Tip/Tail van de Parent verbonden is met de Root/Head van de Child. Door te kiezen voor Keep Offset is de Child op zijn plaats blijven staan. De afstand tussen beide Bones is behouden.

  • Verwijder opnieuw de Parent – Child relatie door rechts te klikken en te kiezen voor ParentClear (of de toetsen Alt+P).

  • De Parent – Child relatie is verwijderd.

  • Selecteer beide Bones. Let op, de Parent moet u als laatste selecteren.
  • Druk op Ctrl+P.
  • Kies eerst voor Connected.

  • De Child wordt rechtstreeks geconnecteerd met de Parent.

  • Verwijder de Child Bone met de Delete-toets en kies voor DeleteBones.

Subdivide

Een andere methode om Bones aan te maken is via Subdivide.

  • Klik de Bone aan met de rechtermuisknop en kies voor Subdivide.

  • Via Number of Cuts wijzigt u het aantal opdelingen.

Deze methode maakt automatisch een Parent – Child relatie.

Extrude

De derde methode is wellicht de meest gebruikte en verloopt via de gekende Extrude (E-toets).

  • Selecteer de Root/Head of de Tip/Tail van de Bone en druk op de E-toets en Extrude. Druk op E Z om recht omhoog, in de Z-as, te extruden.

Deze methode maakt automatisch een Parent – Child relatie.

Disconnect

Via Subdivide en Extrude maakt u Connected Bones.

Wilt u een Offset (afstand) geven:

  • Selecteer de Bone en druk op Alt+P.
  • Kies vervolgens voor Disconnect Bone.

  • Vervolgens kunt u de Disconnected Bone verplaatsen, een Offset geven.

Roll

Een Roll komt eigenlijk neer op het wijzigen van de lokale as van een Bone.

  • Om de assen, per Bone, te zien, ga naar de eigenschappen ArmatureViewport Display vinkt u Axes aan.
  • Vervolgens kunt u via Roll (Ctrl+Alt+S) de lokale as van de geselecteerde Bone rollen.

  • U kunt de Roll ook wijzigen via de eigenschappen.

Envelope

Een Bone beïnvloedt omliggende geometrie/vertices.

Merk op dat de invloedradius van de Tip kleiner is dan van de Root.

Het invloedgebied wordt ook een Envelope genoemd.

  • Ga naar de eigenschappen ArmatureViewport DisplayDisplay As en kies Envelope.

  • U ziet de Envelops (de beïnvloedingradiussen). U kunt deze wijzigen via Bone Size.

Onderstaande video demonstreert dit en geeft ook al een inleiding in animatie (wat ik pas later bespreek).

Hieronder een eerste in een videoreeks die ik doorheen de handleidingen ga gebruiken.

Bone Layers

Als een Rig complex wordt, uit vele Bones bestaat, kan het handig zijn de Bones te organiseren in Bone Layers.

Omdat we in eerste instantie eenvoudige Rigs aanmaken gaan we dit niet meteen nodig hebben, maar voor wie toch een complexe Rig bouwt kan onderstaande video eens bekijken.


Vertex Groups

Een Vertex Group is een groep van vertices (wie had dat gedacht).

Een Armature interact met de Mesh via Vertex Groups. Iedere Bone krijgt een Vertex Group toegekend die hij beïnvloedt.

Deze Vertex Groups worden ook Weights genoemd om de invloed van de Bone op de vertices aan te duiden. We spreken van een Blend Weight.

  • Open een nieuw project, selecteer de Cube. U ziet, in de eigenschappen, dat er standaard geen Vertex Groups zijn.

  • Ga naar Edit-mode, klik rechts op de Cube en kies voor Subdivide.

  • Geef bv. 3 Number of Cuts. U hebt immers enige geometrie nodig om te kunnen animeren.

  • Schaal de Cube over de Z-as (met de toetsen S Z).

  • In Object-mode, sleep eventueel de Cube wat naar omhoog zodat de basis samenvalt met het oppervlak (niet perse nodig).

  • Voeg een Armature toe via AddArmature.

  • Plaats de Armature In Front via de eigenschappen Viewport Display.

  • Met de Armature geselecteerd, ga naar Edit-mode en verplaats de Tip/Tail omhoog zodat de Bone de Cube omvat.
  • Kies vervolgens voor Subdivide.

  • Geef bv. 2 Number of Cuts om 2 Bones toe te voegen. Ik heb ook de Cube in Wireframe-mode gezet.

We moeten nu een Parent – Child relatie creëren tussen de Armature (Parent) en de Cube (Child).

  • In Object-mode, selecteer de Cube (Child).
  • Met de Shift-toets ingedrukt, selecteer de Armature (Parent).

  • Druk op Ctrl+P en kies voor With Automatic Weights.

  • Er zijn automatisch 3 Vertex Groups aangemaakt, één per Bone (zo u wilt kunt u de namen aanpassen).

  • Er is ook een Armature Modifier toegevoegd.

  • Ga naar Pose-mode en verplaats de Bones.

  • Ga terug naar Object-mode, selecteer de Cube en ga naar Weight Paint.

Merk de verschillende kleuren op:

  • Blauw = Weight van 0 (geen invloed)
  • Rood = Weight van 1 (100% invloed)
  • Groen = Weight van 0.5 (50% invloed)

De Weight verschilt per Bone.

  • U kunt nu zelf gaan Weight Painten. U hebt daarvoor verschillende Tools, u vindt die aan de linkerkant bv. Draw.

  • Met een Weight van 1 Paint u rood.

  • Merk op hoe de Cube zich vervormt.
  • Met een Weight van 0 Paint u blauw.

Wie meer wilt weten over Weight Painting bekijkt onderstaande video.

Als u Weight Paint is het misschien handiger om te selecteren met de rechtermuisknop (de vroegere standaard van Blender) in plaats van nieuwe standaard, selecteren met de linkermuisknop. Onderstaande video toont hoe u dit eventueel kunt wijzigen.


Constraints

Rigging is gebouwd rond een Parent – Child relatie. Via Constraints kunt u regels/beperkingen opleggen aan die relatie. Constraints werken zowel tussen Objecten als tussen Bones.

U kunt Constraints toevoegen via de eigenschappen.

Zoals u ziet zijn er heel wat Constraints.

Ik ga één voorbeeldje uitwerken. Voor meer verwijs ik naar de video’s onderaan dit hoofdstuk.

  • Voeg de Monkey Suzanne toe via AddMeshMonkey.

  • Sleep de Monkey wat omhoog (verplaatsen over de Z-as).

We wensen nu dat als we Suzanne verplaatsen, de Cube mee verplaatst wordt. Maar de Cube mag enkel mee verplaatst worden over de X-as of de Y-as en niet over de Z-as.

  • Selecteer de Cube en ga naar Add Object ConstraintCopy Location.

  • Selecteer als Target Suzanne en vink de Z-as uit (u wilt immers niet dat de Cube de locatie van de Z-as overneemt).

  • Merk op, als u nu Suzanne verplaatst dan kopieert de Cube de X- en Y-locatie van Suzanne, niet de Z-locatie.
  • Merk ook op dat u de Cube zelf enkel kunt verplaatsen over de Z-as.

Bekijk onderstaande video’s voor meer voorbeelden.

Praktisch voorbeeld

Inverse Kinematics

Inverse Kinematics is een Constraint die de kinematics, normaal gaande van de Parent naar de Child omdraait waardoor de Child de Parent beïnvloedt.

Dit onderwerp laat zich moeilijk beschrijven en kunt u het best bekijken in onderstaande video’s.


Kenmerken van een goede RIG

Voor we in een volgende handleiding effectief aan de slag gaan met het riggen van een object, wil ik eerst stilstaan bij een aantal goede kenmerken van een RIG.

1 – Zet de transformatie van het object neutraal, locatie in het centrum, rotaties op 0 en schaal op 1. Doe dit eventueel via ObjectApplyAll Transformations.

2 – Plaats de Controls op een logische plaats.

3 – Net als bij het object, zet de transformatie van de controls neutraal, locatie in het centrum, rotaties op 0 en schaal op 1.

4 – Lock eventueel de transformatie van de Controls. Als een Control niet over een bepaalde as kan draaien, lock dan deze as.

5 – Gebruik correcte benamingen. Gebruik de volgende syntax: CTRL_naam.001 of de Control symmetrisch is (een linker en rechter kant) CTRL_naam.L.001 of CTRL.naam.R.001.

6 – Gebruik geen Constraints op de Controls.


Animatie

Een Rig wordt gebouwd met het oog op animatie. Laat ons een heel eenvoudige animatie bouwen.

Een animatie is in principe het wijzigen van de locatie, rotatie en/of schaal van de Bones over een zekere tijd. Hiertoe gaan we bepaalde standen van de locatie, rotatie en/of schaal van een Bone op bepaalde momenten op de Timeline vastleggen via Keyframes. Op andere momenten op de Timeline gaan we dan de locatie, rotatie en/of schaal wijzigen. Blender gaat, tijdens de animatie, vloeiend van de ene stand/Keyframe naar de andere stand/Keyframe.

We gaan onderstaande eenvoudige Rig, die we hierboven aangemaakt hebben, animeren. De stand op Frame 0 en Frame 100 is dezelfde. Op Frame 50 gaan we de stand van de locatie, rotatie en/of schaal wijzigen.

  • Ga naar Pose-mode en selecteer bv. de bovenste Bone.

  • Klik met de rechtermuisknop en kies voor Insert Keyframe (merk op dat de huidige positie op de Timeline de Frame 1 is).

  • Kies wat u wilt vastleggen (bewaren voor deze Keyframe). Ik kies hier voor LocRotScale (Location, Rotation en Scale).

  • Er is een Keyframe toegevoegd aan Frame 1.

  • Ga naar Frame 100. We gaan hier het laatste Keyframe invoegen.

  • Voeg een nieuwe LocRotScale Keyframe toe (I-toets).

  • Er is een Keyframe toegevoegd aan Frame 100.

  • Ga nu bv. naar Frame 50.

  • Roteer de bovenste Bone. U zou ook kunnen verplaatsen en/of schalen.

  • Voeg een nieuwe LocRotScale Keyframe toe (I-toets).

  • Er is een Keyframe toegevoegd aan Frame 50.

  • Zet de End van de Timeline op 100 (de laatste Keyframe).

  • Ga naar Object-mode en start de animatie (via de spatiebalk).

Bekijk onderstaande video’s voor meer achtergrondinformatie.


Praktisch voorbeeld

Onderstaande video’s brengen bovenstaande in de praktijk. De video’s werken verder op modellen die we reeds gezien hebben in deze handleiding.

U kunt het model voor onderstaande video hier downloaden.

Geef een reactie

Deze website gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.

  • Abonneer je op deze website d.m.v. e-mail

    Voer je e-mailadres in om je in te schrijven op deze website en e-mailmeldingen te ontvangen van nieuwe berichten.