Driving a constraint influence ????

Hello… (Excuse my English).

Im new on this forum, and relatively new to Blender.
Im rigging a character and I dont want to have too many bones showing up (just the control ones) so I want to be able to control some constraint influences using another object (or bone) and create sort of like a control pannel for those atributes.
I found a way of doing it with drivers, but while drivers work ok for some kind of Ipos, Im having problem with the contraint Ipos.
When I create the driven link sometimes I can control the atribute in realtime but other times I cant, it is kind of random.
Here I have two sample files… one that is working in realtime, and another one that is not working in realtime. Drag the cube on both samples so you can see what Im talkint about. On the one that is not working in realtime the only way I found out to see the result was by having the “play” active on the timeline while moving the cube, but it would show the change on the bone just after I let go of the mouse.

Any ideas?


I would guess it’s because the Bone doesn’t have an IPO. The INF IPO of the Constraint reads its value from the frame number and since you’re still on frame-whatever (your cube doesn’t have an IPO) it hasn’t yet got to a frame that changes the INF value, no matter how much you drag it.

Add an IPO (Loc-Y) to your cube and you can use the arrow-keys work it.


There seems to be something odd going on with drivers + constraints. I tried to duplicate your example and like you am getting inconsistent results.

I dont’ see a whole lot different between your 'working" and “non-working” versions. I don’t suppose you know what you did differently when creating them ? (or else you probably wouldn’t have started this thread :smiley:

I’ll experiment further, and might file a bug report unless some new info comes along :slight_smile:


Hey… thanks for the fast feedback!.

Fligh, I found some information at http://www.blender.org/cms/Ipo_Drivers.680.0.html that support what you said.
It sais: “You can also insert Drivers on Action Ipos, but these are only evaluated on frame change now.”
But the wird thing is that I have one file that is updating in realtime.


Mstram, if you find out something after you experiment with it let me know.


First I only looked at the Not_Working.blend, now I’ve looked at both and yes, on the working one the bone had a Pose IPO called ActIpo which you changed to ‘estira’. Es el lo que estirar la hueso! The Not-Working had only the Constraint IPO (CoIpo, which you renamed Const).


Flight… It is not that simple… The Ipo called “ActIpo” is not the one I changed to “estira”, that is the one I changed to “gira”. If you look at it carefully, that driver is using the “Rot X” of the cube not the “Loc Y”. That was to test another kind of Ipo. You can test what that driver does by rotating the cube in x (you have to unlock the “x rot” on the property window). That kind of Ipo always work.
So… that is not the answer.

I took away the “gira” action from the ecuation on this file. I would have left it at that with the information I read at Blender site, but now that I have it working on one I can not let it go.

By the way… Is there a way of deleting actions and Ipos that I dont need anymore?

Well… Now the things has become almost haunted. I decided to delete all the keys on all the Ipos on the file that was working to try to duplicate what I did before, and now is still working without keys!!!
Here is the file.

Here is an example of where I want to use the driver thing…
On this file you can see there is a bone showing up just to be able to modify some constraint influences. If you select the bone you can modify two constraint values to make the leg stretch. I want to be able to modify those values without having to show that bone wich it is just crowding the rig.

I found the answer!.. Actually, a lot has to do with what Flight said.
If you have a constraint Ipo controled by a driver (wich is linked to another object) it wont update in realtime… but…BUT!!! :smiley: … if you also have a driver on a Pose Ipo, on any bone of the armature, linked to the same object as the constraint Ipo driver is, it will update in realtime.
What you drive on the Pose Ipo can be whatever as long as you use the same objetct to link it to as you have on the Constraint Ipo driver. The channel you add the driver to on the pose Ipo can have just one key (so it doesnt animate), multiples keys (if you actualy want to animate it), or no keys at all (it will use a default lineal relationship).
Because you can use any other bone on the armature, you can actually create a “null” bone that does not do anything more than just make that relationship…AND IT WORKS!!! :smiley: :smiley:

Better yet!, once you create that “Pose Action” (or pose Ipo) you can even delete the “null” bone that action is attached to. The atcion wont be deleted and will keep the relationship alive.
Well… that means you dont even have to create a “null” Bone, you can create the action using any bone on the armature and then delete that action from that bone (the action wont be deleted, just unlinked from that bone)
Here I have the new working file.

Congrats for your perseverance ! :slight_smile:

I’ll have to re-read your post (a few times) and play with your Eurkeka file (nice file name :slight_smile: ), until I understand everything :slight_smile: … But at first read, this seems like it’s a bug to me, and might be worthy of a bug report.

I’ll also test it (and your previously “not working” files with CVS to see if there’s any difference in the behavior.

You can get a Windows CVS build from here (The file name is Win32Blender{build_date}.zip)


Hey Mike…
Thanks a lot for the link to the Builds. I downloaded the latest one they have there and you know what???.. apparently it was a bug, and it is now fixed!!!
With that build you dont need the workarround I found.


Let me continue playing with that version of Blender to see what other cool stuff I can find :smiley:


JMS’s build is usually updated daily

Here is a link to the daily commit logs where you can read what has been done and even see the source code changes.

This entry looks like it might be the one that fixed the problem :

From ton at blender.org  Tue Aug 15 15:30:06 2006
Date: Tue Aug 15 15:30:10 2006
Subject: [Bf-blender-cvs] CVS commit:
blender/source/blender/blenkernel/intern depsgraph.c
Message-ID: &lt;[email protected]&gt;

ton (Ton Roosendaal) 2006/08/15 15:30:06 CEST

  Modified files:
    blender/source/blender/blenkernel/intern depsgraph.c 
  Bugfix #4890
  Driver relations for Constraints (in Actions, Armatures) were not in
  depsgraph yet.
  Revision  Changes    Path
  1.54      +5 -1      blender/source/blender/blenkernel/intern/depsgraph.c