Hoofdstuk 94Weight paint, automatic weights, corrective shape keys
Wie welk stukje mesh beweegt, en hoe je de vervorming corrigeert die daarna overblijft
Voordat een armature een mesh kan laten meebewegen, moet elke vertex weten hoe sterk elk bot eraan trekt — dat heet Skinning of Weight Painting, opgeslagen in Vertex Groups die dezelfde naam dragen als hun bot. Automatic Weights berekent een eerste, ruwe verdeling; handmatig Weight Paint verfijnt die waar de automatische inschatting misgaat, en Corrective Shape Keys lossen op wat weights alleen nooit gladstrijken — zoals de scherpe knik van een gebogen elleboog.
RECCONCEPT00:00:00:00schooliumVertex Groups: de brug tussen bot en mesh
Een Vertex Group koppelt elke vertex aan een gewicht tussen 0 en 1 — hoe dicht bij 1, hoe sterker die vertex het bot met dezelfde naam volgt. De Armature-modifier (deel F, hoofdstuk 71) leest deze groepen automatisch: een vertex met gewicht 1 op de groep "Upper_Arm" en 0 op alle andere botten beweegt exact met dat ene bot mee, een vertex met 0,5 op twee aangrenzende botten mengt hun invloed samen — de basis van een vloeiend gewricht in plaats van een harde knik.
Zonder de Armature-modifier heeft een set vertex groups met botnamen géén enkel effect: de modifier is de schakel die de naam-matching daadwerkelijk toepast. Een rig die "niet vervormt" heeft dus vaak gewoon geen (of een verkeerd ingestelde) Armature-modifier, niet noodzakelijk foute weights.
RECBLENDER 5.1 · VERTEXGROUPS-LIJST00:00:00:001920×1080Object Data Properties — Vertex Groups (paneel)
| Paneel |
|---|
| Vertex Groups |
Automatic Weights: een goed vertrekpunt, geen eindpunt
Selecteer de mesh, dan de armature (die laatst, actief), en kies Ctrl+P ▸ With Automatic Weights: Blender berekent dan met Bone Heat — een warmtevergelijking langs het oppervlak, niet gewoon de dichtste afstand — voor elke vertex welke botten meetellen en hoe sterk. Dat werkt goed op nette, gesloten meshes met botten die netjes binnenin liggen; het gaat mis bij dunne onderdelen die dicht bij elkaar liggen (vingers, vingers tegen de palm), waar de warmteverspreiding per ongeluk oversteekt naar een naburig deel dat er anatomisch niets mee te maken heeft.
With Empty Groups maakt alleen de vertex groups aan zonder gewichten te vullen — voor wie liever alles met de hand of via Envelope-botten opbouwt.
RECBLENDER 5.1 · ARMATURE-AUTOMATIC-WEIGHTS00:00:00:001920×1080Weight Paint mode: het scherm in onderdelen

- 1Kleurverloop op de mesh
Blauw = gewicht 0, groen/geel = tussenin, rood = gewicht 1 voor de actieve vertex group — de standaard Weight-kleurenkaart.
- 2Actieve Vertex Group
Welke groep je op dit moment schildert (hier “Been_L”) — meestal gekoppeld aan het geselecteerde bot in Pose Mode.
- 3Brush-instellingen (Tool tab)
Weight (streefwaarde), Strength, Radius — dezelfde opbouw als Texture Paint-brushes.
- 4Blend Mode (Add, Subtract, Mix, ...)
Hoe elke penseelstreek de bestaande waarde combineert met de brush-waarde — zit in dit paneel binnen de Brush-instellingen, niet als apart zichtbaar dropdown in de header.
Weight Paint — brush-gedrag
| Brush | Gedrag |
|---|---|
| Draw | Verft gewicht rechtstreeks naar de Weight-waarde van de brush. |
| Blur | Vervaagt overgangen tussen naburige vertices — het gereedschap tegen harde randen. |
| Average | Zet alle geraakte vertices op het gemiddelde gewicht van de streek. |
| Smear | Sleept bestaand gewicht mee in de sleeprichting, zonder nieuwe waarde toe te voegen. |
| Gradient (Tool) | Trekt een lineair of radiaal gewichtsverloop tussen twee punten in één sleep. |
Vlaggen die het schilderen zelf sturen
X-Mirror (Object Data Properties) spiegelt elke penseelstreek automatisch naar de andere kant van een symmetrische mesh, mits de botnamen consequent eindigen op .L/.R — onmisbaar om niet twee keer hetzelfde werk te doen. Auto Normalize houdt de som van alle gewichten per vertex op 1 terwijl je schildert, zodat verhogen van de ene groep automatisch de andere verlaagt in plaats van de totale invloed groter dan 1 te maken (wat een vertex onvoorspelbaar zou uitrekken). Vertex Group Weight in de N-sidebar toont het exacte cijfer voor de actieve vertex, voor wanneer schatten op kleur niet precies genoeg is.
RECBLENDER 5.1 · ARMATURE-WEIGHTPAINT-SCHER00:00:00:001920×1080Sneltoetsen — Weight Paint
| Toets | Actie | Operator |
|---|---|---|
| LEFTMOUSE | Weight Paint | paint.weight_paint |
| Ctrl+LEFTMOUSE | Weight Paint | paint.weight_paint |
| Shift+LEFTMOUSE | Weight Paint | paint.weight_paint |
| Shift+X | Weight Paint Sample Weight | paint.weight_sample |
| Ctrl+Shift+X | Weight Paint Sample Group | paint.weight_sample_group |
| Alt+Shift+A | Weight Gradient | paint.weight_gradient |
| Shift+A | Weight Gradient | paint.weight_gradient |
| Ctrl+X | Set Weight | paint.weight_set |
| LEFT_BRACKET | Scale Sculpt/Paint Brush Size | brush.scale_size |
| RIGHT_BRACKET | Scale Sculpt/Paint Brush Size | brush.scale_size |
| F | Radial Control | wm.radial_control |
| Shift+F | Radial Control | wm.radial_control |
| Ctrl+F | Radial Control | wm.radial_control |
| Alt+E | Context Enum Menu | wm.context_menu_enum |
| ONE | Context Toggle | wm.context_toggle |
| TWO | Context Toggle | wm.context_toggle |
| THREE | Context Toggle | wm.context_toggle |
| Shift+S | Context Toggle | wm.context_toggle |
| K | Vertex Group Locks | wm.call_menu_pie |
| RIGHTMOUSE | Weights | wm.call_panel |
| APP | Weights | wm.call_panel |
| Shift+SPACE | Call Asset Shelf Popover | wm.call_asset_shelf_popover |
| Alt+LEFTMOUSE | Select | view3d.select |
| Alt+Shift+LEFTMOUSE | Select Toggle | view3d.select |
| Ctrl+Shift+LEFTMOUSE | Select | view3d.select |
| Toets | Actie | Operator |
|---|---|---|
| A | (De)select All | paint.vert_select_all |
| Alt+A | (De)select All | paint.vert_select_all |
| Ctrl+I | (De)select All | paint.vert_select_all |
| A | (De)select All | paint.vert_select_all |
| Ctrl+Shift+RIGHTMOUSE | Lasso Select | view3d.select_lasso |
| Ctrl+RIGHTMOUSE | Lasso Select | view3d.select_lasso |
| Alt+H | Reveal Faces/Vertices | paint.face_vert_reveal |
| H | Vertex Select Hide | paint.vert_select_hide |
| Shift+H | Vertex Select Hide | paint.vert_select_hide |
| B | Box Select | view3d.select_box |
| C | Circle Select | view3d.select_circle |
| Ctrl+L | Select Linked Vertices | paint.vert_select_linked |
| L | Select Linked Vertices Pick | paint.vert_select_linked_pick |
| Shift+L | Select Linked Vertices Pick | paint.vert_select_linked_pick |
| Ctrl+NUMPAD_PLUS | Select More | paint.vert_select_more |
| Ctrl+NUMPAD_MINUS | Select Less | paint.vert_select_less |
Wanneer het misgaat: de klassieke weight-fouten
Drie herkenbare problemen. Eén: een vertex met gewicht op een botnaam die niet meer bestaat (na een hernoeming) — die vertex volgt dan gewoon niets, lijkt "los te hangen" terwijl de rest van de mesh normaal beweegt. Twee: de som van gewichten op een vertex ligt onder 1 (bv. 0,3 + 0,3 in plaats van 0,5 + 0,5) — de mesh krimpt zichtbaar bij een extreme pose omdat geen enkel bot 'm voor de volle 100% claimt. Drie: een scherpe knik bij een gebogen gewricht — dat is geen weight-fout maar een intrinsieke beperking van lineaire skinning zelf, en de reden waarom corrective shape keys bestaan (volgend blad).
RECBLENDER 5.1 · VERTEXGROUPS-LIJST00:00:00:001920×1080Corrective Shape Keys: de vervorming die weights nooit oplossen
Hoe zorgvuldig de weights ook geschilderd zijn, een sterk gebogen elleboog of knie krijgt met pure skinning altijd een "platte" of "ingedeukte" plek aan de binnenkant van de bocht — een wiskundig gevolg van hoe lineaire interpolatie tussen twee botrotaties werkt, geen instelfout. De oplossing is een Shape Key (hoofdstuk 95) die specifiek voor die pose een correctie toevoegt, en die je via een Driver (hoofdstuk 91) koppelt aan de rotatie van het bot zelf — vaak met Rotational Difference als Variable Type. Buigt het bot, dan schuift de driver de shape key automatisch naar zijn juiste sterkte, zonder dat de animator er ooit een keyframe voor hoeft te zetten.
RECBLENDER 5.1 · ARMATURE-CORRECTIVE-SHAPEK00:00:00:001920×1080Instellingen bij een driver op een corrective shape key
| Onderdeel | Rol |
|---|---|
| Variable Type | Rotational Difference — het verschil in graden tussen twee botten, altijd positief. |
| Object/Bone 1 en 2 | Het bovenste en onderste bot van het gewricht dat je corrigeert. |
| Driver Type | Scripted Expression, meestal een genormaliseerde waarde tussen 0 en 1 via de hoek. |
| F-Curve Modifier: Limits | Klemt de uitkomst zodat de shape key nooit negatief of boven 1 gaat staan. |
De volgorde die een rig-opbouw werkbaar houdt
Drie stappen die elkaar opvolgen, en die je zelden omdraait. Automatic Weights geeft een ruwe, werkbare basisverdeling over de hele mesh in enkele seconden — sneller dan met de hand beginnen. Weight Paint verfijnt daarna specifiek de plekken waar de automatische inschatting fout zit (vingers, oksels, samengeperste plooien) — géén nieuwe start, maar gerichte correctie op wat al 90% klopt. Corrective Shape Keys (hoofdstuk 95) lossen pas op wat na die twee stappen overblijft: de volume-indeuking bij extreme buigingen die geen enkele combinatie van weights ooit gladstrijkt. Wie deze volgorde omkeert — eerst corrective shapes bouwen op weights die nog niet af zijn — moet ze na elke weight-aanpassing opnieuw doen, want de vervorming waarop de correctie gebaseerd was, verandert mee.
RECBLENDER 5.1 · ARMATURE-AUTOMATIC-WEIGHTS00:00:00:001920×1080Zelf proberen: gewicht corrigeren op een indeukende elleboog
Verhelp een indeuking bij een gebogen arm door eerst de weights bij te schilderen, en beoordeel wat wel en niet opgelost raakt.
- 1Open
blends/start_arm_weightpaint.blend— een gerigde arm met een zichtbare indeuking bij 90° buiging. - 2Ga naar Pose Mode, buig de elleboog tot 90° en bekijk de indeuking van dichtbij.
- 3Ga naar Weight Paint mode op de mesh en verzacht de overgang tussen boven- en onderarm met de Blur-brush.
- 4Buig opnieuw en vergelijk: de knik is minder scherp, maar de indeuking blijft grotendeels zichtbaar.
- 5Noteer waarom — dit is de opstap naar corrective shape keys in hoofdstuk 95.