Page 1 of 1

Constraint evaluation issue

Posted: Wed Sep 28, 2005 12:34 pm
by ton
I have removed an ancient (Blender 2.1) feature for Constraints... a highly undocumented and unpredictable one!

This is what it did; if two or more Constraints are of the same type, it
accumulates the Target positions/rotations for the constraints, averages
them sortof, and then only applies the last Constraint in the row. It seems to be a trick to blend IK Constraints or so... in all other cases I cannot
find a good use for it (nor did testing in studio Orange find clues).

For example; add three Empties, and make one Empty to have 2 location
constraints to the other two. This just didn't work, unless you insert
an "Empty" constraint inbetween.

Of course this could become an option, but then i first like to fully grasp what the use of such option is. In the state it was, I couldn't make anything useful, results were too unpredictable.

Posted: Wed Sep 28, 2005 10:58 pm
by fakeplasticdreams
Although I cannot think of a specific example, I thought this was a rather interesting and potentially useful feature. Especially if you want to have an object to be at the midpoint of two other objects at all times.

In testing it, I have not found it to be unpredictable myself, but I have not tested it very extensively.

I would like to see this as an option still, if possible.

I don't want to sound like I am complaining, but just wanted to let you know that someone at least thought it was a useful feature. But I will completely understand if this is removed.


Posted: Thu Sep 29, 2005 9:32 am
by joeri
I think it was more of a "What todo if" rather than a "Lets make this because we need it".

Posted: Thu Sep 29, 2005 11:30 am
by harkyman
Actually, I had used this to make a reactive spine in my basic character rig. The bone at the base of the spine had two copyLoc constraints on it, each pointing to one of the second bones down the leg IK chains. That way when you moved a foot, the pelvis would pull a little bit with the leg. I don't remember having to put an empty between the constraints to get it to work properly, and I also don't remember it acting inconsistently.

Posted: Thu Sep 29, 2005 2:41 pm
by malefico
I've used this "constraint average" to setup a feather system in several winged characters. Every feather has three CopyRot constraints with different influences corresponding to its position on the wing. Each constraint points to one bone of a set of three, which act as control bones for the whole system. So moving any of these three bones, yo have a well spread wing.

It works perfectly except in some situations (main armature rotated more than 120 degrees in Z axis, this was reported as a bug). As harkyman, I didn't need to add null constraints at all.

So, if you kill this feature... how would constraints be averaged ?

Best regards


Posted: Thu Sep 29, 2005 2:58 pm
by harkyman
Oh yeah, I've also used it on empties locked to four different portions of dynamic water, which are in turn pointed to be a floating box. The four copyLoc constraints made the box appear to move with the waves all around it.

Posted: Thu Sep 29, 2005 4:43 pm
by nemyax
malefico wrote:So, if you kill this feature... how would constraints be averaged ?
By using weights, apparently.

Posted: Thu Sep 29, 2005 9:04 pm
by lusque
malefico wrote:So, if you kill this feature... how would constraints be averaged ?
You have to set the constraint's influence slider accordingly, example:

To keep an empty in the middle of emptyA emptyB emptyC and emptyD:

-add a Copy Location constrain pointing to emptyA with influence=1.0
-add a Null Constrain
-add a Copy Location constrain pointing to emptyB with influence=0.5
-add a Null Constrain
-add a Copy Location constrain pointing to emptyC with influence=0.333
-add a Null Constrain
-add a Copy Location constrain pointing to emptyD with influence=0.25

basicly for each new Copy Location you add, you have to set the influence to 1.0/(the position number of the constrain). So, for the fifth constrain, the influence is 1.0/5=0.2 , and so on

I hope to have explained well, I'm not a native english speaker

Posted: Thu Sep 29, 2005 9:04 pm
by lusque
EDIT: sorry, double post

Posted: Tue Oct 18, 2005 3:12 am
by Apollux
I has used this feature a lot for complex riggs.

For example, once I used it to create some similar to Harkyman' s spine, just that mine was a pelvis. I also used a set of stacked copy rotations to built a custom rotation tracking head. Basically the head fallows and empty, but the head bone is free to roll over itself while performing the tracking (is great for body language) .. did I mention that the tracking bone is also an IK solver for the whole spine?

You can see the rigg working in the Muffin Project' s Cook character.
( ) Link for the .blend is on that page.

Bottom line, it is an usefull feature, and quite predictable if you ask me.