Hoofdstuk 91Drivers
Een F-curve die niet door tijd, maar door een andere waarde wordt aangestuurd
Een Driver is, technisch gezien, dezelfde machinerie als een keyframe-animatie — een curve die een waarde bepaalt — maar de invoer is geen tijd, het is een andere property: de rotatie van een bot, de waarde van een Custom Property, de locatie van een leeg object. Zo stuur je een oogleden-sluiting aan met de rotatie van een controller-bot, of een deur die vanzelf opent als een handvat-object ver genoeg draait, zonder daar ooit een keyframe voor te zetten.
RECCONCEPT00:00:00:00schooliumWat een driver anders maakt dan een keyframe
Een gewone F-curve heeft Frame als invoer-as; een Driver-curve heeft in plaats daarvan een of meer Variables — verwijzingen naar andere properties in de scène. Verandert de bronwaarde, dan herberekent de driver zijn uitkomst elke frame opnieuw, net zoals een constraint dat doet — het verschil is dat een driver op willekeurige numerieke properties werkt (ook materiaal- of world-waarden), terwijl een constraint beperkt is tot transform-achtige eigenschappen van objecten en botten.
Een driver voeg je toe via rechtsklik op een veld ▸ Add Driver, waarna de kleine Driver Editor-popup verschijnt om de bron te kiezen.
RECBLENDER 5.1 · DRIVER-POPUP00:00:00:001920×1080De driver-popup

- 1Driver Type
Averaged Value, Sum Values, Scripted Expression, Minimum/Maximum Value — hoe meerdere variabelen samen tot één uitkomst komen. Hier staat Scripted Expression.
- 2Expression
Een Python-uitdrukking die de variabelen door elkaar rekent — hier
var * 0.5, dus de helft van de bronwaarde. - 3Variables-lijst
Elke variabele met een naam (die je in de expressie gebruikt) en een bron: Single Property, Transform Channel, Rotational Difference, Distance. Hier
var= de Z Location van Torus, in World Space. - 4Show in Drivers Editor
Blender 5.1 toont in déze popup geen live mini-grafiek meer (anders dan oudere versies) — deze knop opent in plaats daarvan de volledige Drivers Editor met de curve erin, zie twee bladen verder.
Variable Type — waar een driver zijn invoer vandaan haalt
| Variable Type | Bron |
|---|---|
| Single Property | Eén willekeurige property via een RNA-pad, bv. object.location.x of een Custom Property. Meest flexibel. |
| Transform Channel | Locatie, rotatie of schaal van een object of bot, in Local of World space — geen pad nodig, kiezen uit een lijst. |
| Rotational Difference | De hoek tussen de rotaties van twee objecten/botten — handig voor corrective shape keys (hoofdstuk 94). |
| Distance | De afstand tussen twee objecten/botten — voor bv. een rek-effect dat aftrekt naarmate iets verder weg beweegt. |
Driver Type: hoe meerdere variabelen samenkomen
Met één variabele is Driver Type meestal Averaged Value (gelijk aan de variabele zelf) of Scripted Expression voor een berekening. Met meerdere variabelen kies je hoe ze samenvloeien: Sum Values telt op, Averaged Value middelt, Minimum/Maximum Value neemt het kleinste of grootste. Voor alles wat complexer is dan een simpele optelling — schalen, clampen, een niet-lineaire reactie — is Scripted Expression de aangewezen keuze: een korte Python-regel met de variabelenamen erin, bv. clamp(rot * 2, 0, 1).
Scripted expressions vereisen dat Auto Run Python Scripts aanstaat in Preferences (deel C, hoofdstuk 27) — anders toont Blender een waarschuwing en blijft de driver op zijn laatste waarde staan, wat verwarrend oogt als een "kapotte" driver terwijl het een uitgeschakelde instelling is.
RECCONCEPT00:00:00:00schooliumEen driven property herkennen in de interface

- 1Paarse veldkleur
Een property met een driver kleurt paars/roze in plaats van het normale grijs — zo zie je in één oogopslag dat een waarde niet los in te typen is. Location Y/Z ernaast tonen het gewone grijs: die hebben geen driver.
- 2Driver-pijl-icoon
Het kromme pijltje naast een driven veld springt rechtstreeks naar de Drivers Editor voor precies deze curve.
- 3Een tweede, onafhankelijke driver
Scale X heeft een eigen driver met een expressie die verwijst naar een niet-bestaande variabele — ongeldig, maar zonder live gebruikersinteractie tekent Blender de rode foutrand hier niet mee; met de muis erover of na een druk op een toets verschijnt die wel.
- 4Rechtsklik ▸ Edit Driver
De enige weg om een bestaande driver aan te passen — opent dezelfde popup als bij het aanmaken (vorig blad).
Voorbeeld: een deur die opent met een handvat
Klassiek voorbeeld: de Z Euler Rotation van de deur krijgt een driver met één variabele van het type Transform Channel, gekoppeld aan de X Euler Rotation van het handvat-object, in Local Space. Met Scripted Expression var * 3 opent de deur drie keer zo snel als het handvat draait. Zet je bovendien een Limits-modifier (hoofdstuk 90) op de resulterende driver-curve, dan stopt de deur bij een vaste openingshoek, ongeacht hoe ver het handvat nog verder zou kunnen draaien.
RECCONCEPT00:00:00:00schooliumWaar drivers vandaan blijven werken (en waar niet)
Een driver leeft op het datablock van de aangestuurde property, niet op de bron — verwijder je het bron-object, dan blijft de driver bestaan maar geeft hij een foutmelding (rood omrand veld) omdat de variabele niets meer vindt om naar te verwijzen. Kopieer je het object met de driver naar een ander bestand via Append, dan komt de driver wel mee, maar de bron moet apart worden meegenomen of opnieuw gekoppeld — anders faalt dezelfde referentie daar meteen. Dit is de reden waarom een rig die "perfect werkte" plots kapot lijkt na een Append: de drivers zijn niet stuk, hun bronnen zijn gewoon niet mee overgekomen.
RECBLENDER 5.1 · EDITOR-DRIVERS00:00:00:001920×1080Veelgebruikte driver-expressies
| Expressie | Effect |
|---|---|
| var | Rechtstreeks doorgeven, geen bewerking. |
| var * 2 | Verdubbelen — een uitkomst die twee keer zo hard reageert als de bron. |
| 1 - var | Omkeren binnen het bereik 0–1, bv. voor een tegengestelde beweging. |
| clamp(var, 0, 1) | Begrenzen tussen twee waarden zonder een aparte F-Curve Modifier. |
| sin(var) | Een periodieke, golvende reactie op een lineair oplopende bron. |
| var1 if var1 > var2 else var2 | Een eenvoudige voorwaarde tussen twee variabelen. |
Veel drivers, trage viewport: een prestatiekant die je niet ziet
Elke driver wordt elke frame herberekend, ook als de bronwaarde niet verandert — bij een gezichtsrig met tientallen shape keys die elk door een eigen driver worden aangestuurd, telt dat op. Scripted Expressions zijn trager dan Averaged Value of Transform Channel zonder expressie, omdat Blender voor elke driver de Python-uitdrukking opnieuw moet evalueren. Loopt de viewport merkbaar trager op een zwaar gerigde scène, dan is het de moeite waard om te controleren hoeveel drivers actief zijn en of eenvoudigere Driver Types (zonder expressie) hetzelfde resultaat geven.
Een aparte Drivers Editor (deel D, hoofdstuk 43) toont alle drivers van de scène als curves, net als de Graph Editor voor gewone F-curves — de aangewezen plek om veel drivers tegelijk te overzien in plaats van ze één voor één via de popup te openen.
RECBLENDER 5.1 · DRIVER-KLEURCODE00:00:00:001920×1080De Drivers Editor: alle drivers van de scène in één overzicht

- 1Kanalenlijst
Elke driven property als eigen rij, gegroepeerd per object — dezelfde opbouw als de Graph Editor. X Scale krijgt hier een rode onderstreping: dat is de kapotte driver van het vorige blad.
- 2Driver-curve
De grafische relatie tussen bronwaarde (X-as) en uitkomst (Y-as), zichtbaar en direct bewerkbaar met handles — hier de lineaire
var * 0.5van X Location. - 3Sidebar — Drivers-tab
Dezelfde velden als de kleine driver-popup, maar permanent zichtbaar terwijl je meerdere drivers na elkaar doorloopt — verschijnt zodra een driver-kanaal in de lijst geselecteerd is.
Drivers, constraints en keyframes naast elkaar
Drie manieren om een waarde elke frame te laten herberekenen, met een andere invoer.
| Mechanisme | Invoer | Typisch gebruik |
|---|---|---|
| Keyframe (hoofdstuk 89) | Tijd | Een vaste, herhaalbare animatie die je zelf met de hand vormgeeft. |
| Constraint (hoofdstuk 92) | Transform van een ander object/bot | Objectgedrag dat live een ander object volgt, meestal transform-only. |
| Driver (dit hoofdstuk) | Een willekeurige property, via een expressie | Elke numerieke waarde laten meebewegen met een andere, ook buiten transforms. |
Zelf proberen: een driver tussen twee objecten
Laat de schaal van een kubus meebewegen met de hoogte van een leeg object erboven, zonder één keyframe te zetten.
- 1Open
blends/start_driver_kubus.blend— een kubus en een Empty erboven. - 2Rechtsklik op
Scale Zvan de kubus ▸Add Driver. - 3Zet de variabele op
Transform Channel, object de Empty, kanaalZ Location. - 4Zet
Driver TypeopScripted Expressionmetvar(ofvar * 2voor een sterker effect). - 5Beweeg de Empty in de 3D Viewport omhoog en omlaag en kijk of de kubus meeschaalt.