[Maya] Additive Constraints?

Hi,

Is there a way to have additive constraint in Maya?
By default, if you have one constraint (ConsA) to an object.
The ConsA will have 100% in effect.

If you add another constraint (ConsB).
ConsA will share weight with ConsB or in other words, 50% 50% weight.

What I want is both of them to have a 100% 100% both in effect. Much the same with additive animation layers.

===============

Case in point would be to have the the lip_r_con be affected by the jaw_con and cheek_con at the same time.

So far I have two solutions both of them working. But I am still wondering if there are any “additive” constraints that I’m missing.

Is this possible?

P.S. For reference, below are the solutions I’m referring
P.P.S. The reason I’m fiddling with this already working solutions is additive constraint is how Houdini KineFX rigging functions by default. And its much more easier to layer controls and deformation.

SOLUTION A:
Have just two offset groups.

cheek_con_off_grp (driven by constraints)
------jaw_con_off_grp (driven by node wrangling)
----------lip_R_con

SOLUTION B:
Have just one offset group

cheek_jaw_con_off_grp (driven by node wrangling)
------lip_R_con

The difference between Sol A is that add the Matrix first of both controls before plugging the values.

I understand I can probably do some node wrangling where instead of directly using constraints to an object. Have two pseudo object to constraint

I believe you can also just pipe the constraint output through to an anim layer also? Perhaps not ideal, but might be an option?

1 Like

@ldunham1

Thanks for the response.
I haven’t actually used an anim layer as a rigging tool only as part of the animation process.

Do you know any reference material in using it?

I tried googling/YT but the way it is being used is still for animation process. Not being used in node editor etc.

So here’s something to think about: What do you mean by additive constraint? How would it behave for Translation, Rotation, and Scale? And don’t forget Shear! And how would it behave if all 3 objects (2 constraining, 1 constrained) have different parents with different orientations?

First off, Rotation is undefined because rotation requires an order of operations.
Both Scale and Shear will have problems similar to Rotation because switching between rotation spaces changes the axes of the scale, which introduces shear, so you get cross-talk between the constraint types. (Another way to think about this is that Rotation, Scale, and Shear all depend on the same 3x3 portion of a matrix, so there’s going to be interference)

[EDIT] The more I think about it, that’s just a problem with constraints in general, and not just overdriving. There’s obviously solutions to these problems, but the act of overdriving makes them more complicated.
The next paragraph is the real issue[/EDIT]

Then translation. It sounds easy until you start thinking about constraining to objects under different hierarchies whose parents all have different orientations. If you’re thinking about it like adding vectors, then where is the origin? And how would you define that?
You don’t need an origin when you’ve got weights that sum up to 100%. But as soon as you over/under drive the weights, then that matters.


So basically, there’s no such thing as a “simple” additive constraint without providing extra information that Maya doesn’t collect by default. So you’re left trying to find a clever solution using the tools at hand rather than the “correct” one. And it sounds like you’ve got some clever solutions already.

3 Likes

RE: What do you mean by additive constraint? under different hierarchies whose parents ?
Yea I shouldn’t have included the word matrix up above. Haha.
That keyword makes everything complicate specially with space of different objects.
I was just simply referring to the the relative space. So if Control A moves Y=5cm. And Control B moves Y=5cm. The driven object would move 10cm.

RE: And it sounds like you’ve got some clever solutions already.
Yea I just went with the simple node wrangling on this one.

Anyhow, thanks again for the input. Lets me rethink stuff.