Driver Mapper - Add Driver Keyframes

Addon

This is a wip addon.

It was written for blender 2.70 - 2.72, so I cant promise it works on modern or older versions.
If you test it on other versions feedbacks welcome.

You can add Driver Keyframes to the Active Object, the same way you add Action Keyframes, in the 3D View.
I find its best to map the ‘Add Driver Keyframes’ button to the ‘D’ shortcut.

http://wiki.blender.org/uploads/9/9e/Dmapper.png

For me this makes rigging more fun, for basic tranformation drivers, one doesnt have to use the graph editor.
You can just move objects the add driver keyframes, instead of moving driver keyframes in the graph editor.

‘Add Driver Keyframes’ will map the driver keyframes based on the transformations of the driver variable property, and the driver keyframe set for the active object.
Drivers are muted by default so the objects with drivers can be transformed, Mute Drivers and Show Drivers are used to switch to edit and test mode.

Download: http://wiki.blender.org/uploads/8/87/DM_01.zip
Added to Rigging Category.

Tutorial

(1) Add two cubes to the 3D view, Cube and Cube.001.
(2) Set the Driver Variable like so.

http://wiki.blender.org/uploads/0/02/Dmt00.png

(3) Set the Driver Keying Set like so.

http://wiki.blender.org/uploads/f/f8/Dmt01.png

(4) Select Cube.001, Add Driver Keyframes to Cube.001.
(5) Rotate Cube Y axis, Translate Cube.001, Add Driver Keyframes to Cube.001.

Repeat step 5 for a set of objects.
When finished, press Show Drivers to test the drivers.
Rotate Cube Y axis, the object(s) should translate how they were mapped.

Status

Only Object and Pose bones tranformation properties are supported, I dont think much else desired.
Two Driver Variable Types are supported, Transform, and Distance.
If you find the the addon useful, or find any bugs, feedback is welcome.

Hi dirty-stick,

you’ve got me super interested in this, if it is able to work the way I think:)

I’m a bit “thick” so I struggle with drivers in Blender. Basically I just want to tie parameters of one object to another, for example - cube location “x” drives the “z” rotation of the mason jar.

Do you mind providing baby steps:( not sure I get it. I’ve followed your instructions but it still doesn’t seem to update.

I’ve done this:

select “masonjar” then change the parameters like so, and “add driver keyframes”


now when I translate the “x” location of the cube “controller” it doesn’t seem to update.

can you tell me what I’m doing wrong?

Here’s the desired result using the normal method:

[ATTACH=CONFIG]409622[/ATTACH]

I’d really love to see a simple tool that allow using the “eye dropper” tool to simply “pick” the transform value from another object, not just the object itself.

[ATTACH=CONFIG]409623[/ATTACH] [ATTACH=CONFIG]409624[/ATTACH]

If you’re familiar at all with After Effects they use a simple “pickwhip” function that you just “alt+click” a property you want “driven” then drag the “whip” to the property that will do the driving. Super simple and intuitive:)

On the first post, its looks correct how you added the settings.
First, select the jar, then press Add driver keyframes, this will add one keframe.
Translate the Cube X to a new position, then Rotate the jar Z axis, then add another keyframe to the jar, this will add a second keframe.
Then press Show Drivers… It should work.

I think what you would like is, basic 1:1 linear interpolation drivers with linear extrapolation, without having to add the keyframes.
This is possible to setup, but I would have to write new operator, so maybe in a new version.

For choosing properties.
Im not sure how the eyedropper works in python, so im not sure I can implement such a thing with the eyedropper.
Ill looks into ways to make it easier to choose properties though, maybe some other way exists.

I couldnt see the pictures on post 2 by the way.
Thanks the feedback.

Ive added a ‘Add Linear Drivers’ operator for now, this adds basic 1:1 linear drivers.
http://wiki.blender.org/uploads/e/e9/DM_11.zip

I guess more settings could be added, like use the reverse of the property.
To use, select the properties, then add the linear driver to the active object.

Hi dirty-stick,

thanks for the help and the addition of the 1:1 linear drivers, I didn’t know that’s what I was asking for :frowning: Wouldn’t this be the quickest and most common use for drivers in day to day use? This way one only needs to add a single set of keyframes without going back and forth.

Regarding the eyedropper usage, can you look at in the original driver graph “n panel” to see how it’s done? they use this technique there.


As a non-technical user I still find the setup un-intuitive… subjectively of course. However I’d assume that people like me would be the one’s who’d appreciate this addon the most:) I find the naming, although accurate, not very instructive of which is the object driving and which is being driven.

Perhaps something more like:

“select master object properties” - which would be the “driver variable”

and below

“select slave object properties” - which is the result.

I find “Mifth tools” (by Paul Geraskin) object cloning a great example of how to make it more user evident… which also uses the eyedropper


thanks very much for sharing this!

that would be great, something like a simple “multiplier” box under the property being affected that would allow simple math operations *2 to double the input and *-1 to reverse etc.

or better yet placing the modifiers tab for the npanel in the graph editor “drivers” in your addon directly.

I did a small clock test where the “hour hand” is the variable and the “minute hand” is being driven and I want to multiply it by 60.

here’s the blend file if you don’t want to bother setting it up

[ATTACH=CONFIG]409769[/ATTACH][ATTACH=CONFIG]409770[/ATTACH]

Yea, linear drivers, most commonly used I guess.
It depends what the user is using drivers for.

For the eyedropper.
I know the graph editor object selector is written in C code.
I dont know how the eyedropper for the Mifth tools function was implemented.

I think it may be best if the operators work based on the selection of objects.
I.E. Add drivers to the selected objects, using a driver variable property from the active object.
This is how most tools work but im not sure, this may make it more obscure.
I guess its ok if it had a quick tutorial somewhere.

Techs.
I agree the naming conventions, and the way the default drivers are setup is a bit odd for new users.
By default (2.72) the driver type is scripted expression with a value of 0.000, which doesnt work in any case.
Master and Slave or something like that sounds comprehendible.

Good ideas about the setting by the way, the multiplier sounds useful.
Im a bit overwhelmed with ideas, and im not sure whats possible to add, so maybe ill reply better in the future.

no pressure, I think I came on a bit strong… ha ha. I’ve been waiting for a more user friendly way to set these up for a long time but never saw any interest on the forums. I got a bit over excited:)

It’s already great, I’ll certainly use it in my daily work… thanks again.