← Back to CoursesBlendercursus
Blendercursus
91. Drivers
schoolium · Blendercursus
Blendercursus
91. Drivers
JDeel J · Animatie, rigging en simulatie

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.

5× uitleg3× ontleed3× naslag1× zelf doen1 oefenbestand8 beelden
Eén hendel die via onzichtbare koppelstangen meteen meerdere andere onderdelen laat bewegen — het idee achter een driver.RECCONCEPT00:00:00:00schoolium
beeld-j-driver-marionetEén hendel die via onzichtbare koppelstangen meteen meerdere andere onderdelen laat bewegen — het idee achter een driver.
Uitleg · 91.1

Wat een driver anders maakt dan een keyframe

1/12

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.

Het rechtsklikmenu op een schuifregelaar met de optie Add Driver gemarkeerd, en de driver-popup die daarna verschijnt.RECBLENDER 5.1 · DRIVER-POPUP00:00:00:001920×1080
shot-driver-popupHet rechtsklikmenu op een schuifregelaar met de optie Add Driver gemarkeerd, en de driver-popup die daarna verschijnt.
Ontleed · 91.2

De driver-popup

2/12
Rechtsklik ▸ Edit Driver op Location X van de kubus, gestuurd door de Z-locatie van de Torus.
RECBLENDER 5.1 · DRIVER-POPUP-DETAIL00:00:00:001920×1080
shot-driver-popup-detailRechtsklik ▸ Edit Driver op Location X van de kubus, gestuurd door de Z-locatie van de Torus.
Wijs een nummer aan: de camera zoomt in op dat onderdeel. Klik om vast te zetten.
  1. 1
    Driver Type

    Averaged Value, Sum Values, Scripted Expression, Minimum/Maximum Value — hoe meerdere variabelen samen tot één uitkomst komen. Hier staat Scripted Expression.

  2. 2
    Expression

    Een Python-uitdrukking die de variabelen door elkaar rekent — hier var * 0.5, dus de helft van de bronwaarde.

  3. 3
    Variables-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.

  4. 4
    Show 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.

Naslag · 91.3

Variable Type — waar een driver zijn invoer vandaan haalt

3/12
Driver Variable Type
Variable TypeBron
Single PropertyEén willekeurige property via een RNA-pad, bv. object.location.x of een Custom Property. Meest flexibel.
Transform ChannelLocatie, rotatie of schaal van een object of bot, in Local of World space — geen pad nodig, kiezen uit een lijst.
Rotational DifferenceDe hoek tussen de rotaties van twee objecten/botten — handig voor corrective shape keys (hoofdstuk 94).
DistanceDe afstand tussen twee objecten/botten — voor bv. een rek-effect dat aftrekt naarmate iets verder weg beweegt.
Uitleg · 91.4

Driver Type: hoe meerdere variabelen samenkomen

4/12

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.

Eén variabele (de handvat-rotatie) die via het Driver Type naar de deurrotatie doorstroomt — hoe meer variabelen, hoe meer dit type ertoe doet.RECCONCEPT00:00:00:00schoolium
beeld-j-driver-deur-handvatEén variabele (de handvat-rotatie) die via het Driver Type naar de deurrotatie doorstroomt — hoe meer variabelen, hoe meer dit type ertoe doet.
Ontleed · 91.5

Een driven property herkennen in de interface

5/12
Location X en Scale X van de kubus hebben allebei een echte driver — beide kleuren paars/roze in plaats van het normale grijs.
RECBLENDER 5.1 · DRIVER-KLEURCODE00:00:00:001920×1080
shot-driver-kleurcodeLocation X en Scale X van de kubus hebben allebei een echte driver — beide kleuren paars/roze in plaats van het normale grijs.
Wijs een nummer aan: de camera zoomt in op dat onderdeel. Klik om vast te zetten.
  1. 1
    Paarse 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.

  2. 2
    Driver-pijl-icoon

    Het kromme pijltje naast een driven veld springt rechtstreeks naar de Drivers Editor voor precies deze curve.

  3. 3
    Een 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.

  4. 4
    Rechtsklik ▸ Edit Driver

    De enige weg om een bestaande driver aan te passen — opent dezelfde popup als bij het aanmaken (vorig blad).

Uitleg · 91.6

Voorbeeld: een deur die opent met een handvat

6/12

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.

Schema met pijl van een draaiend deurhandvat naar de deur zelf, met het label 'driver: var * 3' op de pijl.RECCONCEPT00:00:00:00schoolium
beeld-j-driver-deur-handvatSchema met pijl van een draaiend deurhandvat naar de deur zelf, met het label 'driver: var * 3' op de pijl.
Uitleg · 91.7

Waar drivers vandaan blijven werken (en waar niet)

7/12

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.

De Drivers Editor toont elke driver van de scène samen — de eerste plek om te zien welke bron een foutmelding geeft na een Append.RECBLENDER 5.1 · EDITOR-DRIVERS00:00:00:001920×1080
shot-editor-driversDe Drivers Editor toont elke driver van de scène samen — de eerste plek om te zien welke bron een foutmelding geeft na een Append.
Naslag · 91.8

Veelgebruikte driver-expressies

8/12
Scripted Expression — voorbeelden
ExpressieEffect
varRechtstreeks doorgeven, geen bewerking.
var * 2Verdubbelen — een uitkomst die twee keer zo hard reageert als de bron.
1 - varOmkeren 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 var2Een eenvoudige voorwaarde tussen twee variabelen.
Uitleg · 91.9

Veel drivers, trage viewport: een prestatiekant die je niet ziet

9/12

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.

Elk paars veld in dit paneel is een driver die dít frame opnieuw wordt uitgerekend — met tientallen shape keys op een gezichtsrig telt die herberekening merkbaar op.RECBLENDER 5.1 · DRIVER-KLEURCODE00:00:00:001920×1080
shot-driver-kleurcodeElk paars veld in dit paneel is een driver die dít frame opnieuw wordt uitgerekend — met tientallen shape keys op een gezichtsrig telt die herberekening merkbaar op.
Ontleed · 91.10

De Drivers Editor: alle drivers van de scène in één overzicht

10/12
Kubus heeft twee drivers (X Location, X Scale); de rode onderstreping bij X Scale in de kanalenlijst is de foutmelding van de kapotte driver uit het vorige blad.
RECBLENDER 5.1 · EDITOR-DRIVERS00:00:00:001920×1080
shot-editor-driversKubus heeft twee drivers (X Location, X Scale); de rode onderstreping bij X Scale in de kanalenlijst is de foutmelding van de kapotte driver uit het vorige blad.
Wijs een nummer aan: de camera zoomt in op dat onderdeel. Klik om vast te zetten.
  1. 1
    Kanalenlijst

    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.

  2. 2
    Driver-curve

    De grafische relatie tussen bronwaarde (X-as) en uitkomst (Y-as), zichtbaar en direct bewerkbaar met handles — hier de lineaire var * 0.5 van X Location.

  3. 3
    Sidebar — 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.

Naslag · 91.11

Drivers, constraints en keyframes naast elkaar

11/12

Drie manieren om een waarde elke frame te laten herberekenen, met een andere invoer.

Drie animatiemechanismen vergeleken
MechanismeInvoerTypisch gebruik
Keyframe (hoofdstuk 89)TijdEen vaste, herhaalbare animatie die je zelf met de hand vormgeeft.
Constraint (hoofdstuk 92)Transform van een ander object/botObjectgedrag dat live een ander object volgt, meestal transform-only.
Driver (dit hoofdstuk)Een willekeurige property, via een expressieElke numerieke waarde laten meebewegen met een andere, ook buiten transforms.
Zelf doen · 91.12

Zelf proberen: een driver tussen twee objecten

12/12

Laat de schaal van een kubus meebewegen met de hoogte van een leeg object erboven, zonder één keyframe te zetten.

  1. 1Open blends/start_driver_kubus.blend — een kubus en een Empty erboven.
  2. 2Rechtsklik op Scale Z van de kubus ▸ Add Driver.
  3. 3Zet de variabele op Transform Channel, object de Empty, kanaal Z Location.
  4. 4Zet Driver Type op Scripted Expression met var (of var * 2 voor een sterker effect).
  5. 5Beweeg de Empty in de 3D Viewport omhoog en omlaag en kijk of de kubus meeschaalt.
Gelukt als…De kubus wordt hoger of platter zodra je de Empty verplaatst — zonder enige keyframe op de kubus zelf.
Sleep om rond te draaien
001
start_driver_kubus.blend
DriverKubus1 materialen8 vertices