Set Driven Key

About Truespace Archives

These pages are a copy of the official truespace forums prior to their removal somewhere around 2011.

They are retained here for archive purposes only.

Set Driven Key // Feature suggestions

1  |  

Post by Igor K Handel // Feb 5, 2009, 4:59am

Igor K Handel
Total Posts: 411
Known as set driven key in Maya and C4D, and ipo drivers in Blender (I believe)

What is it?

The ability to link and drive changes of attributes (position, rotation, colour and much much more) of one selected object, for example a group of verts, the position or rotation of a bone or bones etc, based on the realtime attribute changes of a user selected driver object's chosen attribute.

Ouch thats a mouthful, simplify.

Ok think along the the lines of a super-charged automated version of morphing, that is totally user definable, and with ease.

That sounds a bit technical, what can it do for me. Why the heck would I want that, I mean I managed before without it?

Heres the tip of the iceberg, for what is an amazing, versatile and very powerful tool.

A few real world examples..

Automate the roll of the ball of a foot, without keyframes, totally realtime driven by the movement of an IK handle and it's relative position to the floor.

Create an object (eg a default cube scaled down) and use the dragging of it's horizontal position to automate the clenching of all fingers into a fist, with the thumb tucking in as well.

Drive the colour changes of one object using the position of another. Eg key framed sun rising automates gradually changing sky colour, with no keyframes needed for the sky.

Drive the morph of an arm muscle bulge when the angle of the elbow changes.

Drive the visibilty of neck muscles based on neck rotation or chin elevation.

Drive the vertical movement of a piston automatically just by rotating the crank.

Automatically drive the position of a tongue based on the mouth shape Ie tongue forward and up for the sound "T", automatically when the lips make the "T" shape (with a lip morph perhaps)


I realise that currently the LE may already be a way to achieve some or most of this, but a dedicated panel for linking user chosen driver and driven attributes and their proposed relationship would be cleaner, and more usable/ straight forward for the non technical of us.

How can it be made simple to use, I'm not a rocket scientist?

A nice 2 pane window/panel.(similar to Maya perhaps?)

On the left side a list of all the available driver attributes that can be chosen from, as a driver.. eg Size, position, rotation, heck any attribute that is available for the selected object.

On the right side all the available objects and their attributes that can be driven by the the chosen driver.( colour, visibily, material properties, position, rotation, scale, offset, parent etc)

2 clicks and the two attributes are linked, perhaps visually indicated with a connecting line in the panel from left to right panel (much like the LE) Multiple driven attributes may be selected if required.

This relationship ideally should have the ability to include mathamatical modifiers. EG link the rotation angle of an elbow to a muscle bulge of the upper arm, decide more muscle bulge is needed for that particular elbow angle. Simple. Put in a multiplier of 2 in an input box and there you go ...twice the bulge for any given angle of the elbow. Simple, visual and fast.

The relationship, much like the current morph slider, can have max and min values including minus values, in order to determine the magnitude of driven change that is available (limits if you like) within the range of the selected driver values. Taking this even further, the muscle bulge created can in turn drive say the degree of crumple of the shirt sleeve perhaps.(not sure if that would create cyclic dependency on the shirt vertices?)


Although most of examples I have used are character related, that is simply as it is my particular interest. Set driven key is extremely useful for a myriad of other realtime animation, posing, or even non animation projects that could benefit from the linking of one action to automatically driving the reaction of another, even if its between entirely different objects.

How big a tehcnical or user leap is this?

Morphing in its current form is really using the position attribute of a slider as a driver, the driven attribute being the position of the morphing vertexes. Set driven key opens this relationship much further, so not only sliders, but any object or attribute available can be used as the driver, and any attribute or group of attributes can become the driven.The driver and driven don't even have to be on the same object.

For anyone interested in more info on set driven key, a google search will reveal loads of uses and examples, as created in most major 3D apps. Its a lot harder to describe than to use :)


IK Handel

Post by Jack Edwards // Feb 5, 2009, 8:38am

Jack Edwards
Total Posts: 4062
With the except of the soft selection animation stuff (though I suppose that's equivalent to morphs...), you can readily do this with scripting or even simply linking parameters from one object to the parameters of another in the Link Editor.

Though I agree that a user interface to facilitate it would be really nice. ;) In fact this has been one of the things that I've also asked for from time to time.

Post by Igor K Handel // Feb 7, 2009, 2:26am

Igor K Handel
Total Posts: 411
For me, having to learn scripting is an obstacle to what I believe should be a relatively straightforward visual creation/ control method.

Sure there might be scripts being activated behind somewhere, but its the user interface driving scripts that changes the experience from a technical box of tricks to an artistic toolset.

Ref LE. I believe a decent rig with all the links required would quickly make the LE window look like a bowl of spagetti. Particularly if constraints and Set driven key relationships are involved. Do-able but extremely cumbersome in my view.

Guess I wish to continue along the long standing TS ethos of visual fronts hiding the technical stuff in normal use.

I appreciate the power of scripts, and have limited experience of using them in other 3D apps, but for standard use I prefer writing them not to be required. Inputting values, moving sliders or simple button clicks etc is a considerably quicker and more intuitive way to go for me. It's also I believe a continuation of the TS visual interaction philosophy.

Preaching to the converted I know :p

As you know Maya, C4D, Blender etc don't require scripting knowledge for basic functionality, I reckon they have got it right. Sure get in to scripting for specific one off or specialised requirements, but it shouldn't be a requirement for standard everyday functionality. Early days for this area of TS but I guess this is my ideal direction of travel for the evolution of this aspect of TS functionality.



Post by RichLevy // Feb 7, 2009, 6:01am

Total Posts: 1140
I agree with Igor, at least give us the basic tools and than some more intuitive hooks into the LE... if one of the scriptors was a rigger or a TD, we would already have many of the things we keep yearning for... my feeble attempts keep falling short. Some things are not too difficult while others require a good deal of TS scripting effort.

As an example, look at C4D, before Maxon came out with V10 of C4D which has more and better character tools than previous versions, a gentleman nam,ed Catus Dan made some tools that used the lower level scripting interface for C4D and made the tools. These tools made C4D a viable character animation tool for V9.6 and before. To the point that these tools are the reason that any really good character animation was coming out for C4D.

Scriptors, check the prices for his tools, there is a very viable market there for anyone to explore, far more lucrative than creating a tutorial for ... uh, I don't know, some thing like the sculpting tools in TS :) blatant hint :D
Link to his site:


Post by nowherebrain // Feb 28, 2009, 7:51pm

Total Posts: 1062
I have used them in blender Lightwave and max, normally to fix a kink or improper deform in a joint, being driven by a bone and pushing a vertex deform(correction in deform)....uber useful in animation. is a privately held community resource website dedicated to Active Worlds.
Copyright (c) Mark Randall 2006 - 2024. All Rights Reserved.   ·   ProLibraries Live   ·   Twitter   ·   LinkedIn