When it comes to constraints, there are a near infinite amount of
ways to achieve the same effect and for the most part, as long as
the method used gets the effect you were looking for, all is good.
Since I can't go over every scenario, I'll be going over a few of
the methods we picked up from our mentors and fellow students.
Before I start going over different techniques and tips, I'd like to
say that you don't always need to use constraints in your shot.
There are many instances where it's actually easier to animate the
shot frame by frame, making sure the object stays where you need it,
instead of trying to figure out how to set up a complex constraint
system. Plus, with constraints, there is often the tendency to not
animate things as naturally as when you do things manually.
With that out of the way, let's get back to the nitty-gritty!
The first workflow tip is one I learned from Kevin Freeman. If you
need to constrain an object to your character's hand, always try to
constrain it to the finger controls instead of the wrist. It will
act exactly the same and allow you to switch the arm easily between
FK and IK modes without having to constrain the object twice or make
multiple copies of it.
Constraint / Parent Combo
This following method is probably the most helpful constraint tip we
learned throughout our time in AM and is the method we use for
nearly all our constraint needs. What makes this workflow so great
is while regular constraining doesn't allow you to move the
constrained object's position after constraining, this method will
give you back the control and allow you to tweak the position of the
object to your heart's content!
I was going to write about this method myself but a fellow AM
student, Vedanth Rajan, pointed me to this awesome video tutorial that
uses basically the same workflow.
If you want more constraint videos like the one above, I've linked to
all his different tutorials on different constraint situations at
the bottom of this post.
But what about the inverse, when you want the hand to be constrained
to a object instead? This is actually a bit simpler as the AM rigs
have a way to give you extra control already built into them. The
key is to turn on the Con Follow attribute, which will give you an
extra control that you can use to move the hand around and
reposition it without breaking your constraint. For this scenario,
let's say you have Stewie playing basketball and as he's dribbling
the ball, you have his hand constrained to the ball. That way it's
easier to get nice arcs. But you don't want the hand to be in the
exact same position each time his hand contacts the ball, or maybe
you want to have his hand grab the ball from a different angle.
To do this, you simply need to set Stewie's arm to Ik and on the
wrist controller, set the Con Follow attribute to 1 and the Layout
Follow attribute to 0. This will reveal a new controller which you
can use to control Stewie's Ik control curve. The great part is that
even though the hand will follow the new Con control, you still have
the ability to key the hand. Which means all you need to do is
parent constrain the con control to the previously mentioned
basketball and you'll have a system that both allows you to have the
hand follow the ball as well as tweak its position.
Constrain to Layout
Here's another tip I picked up from Kevin Freeman. (Seriously, this
guy is a goldmine of awesome tips!) If you have a character letting
go of an object, instead of just turning off the constraint and
letting it go free, constrain it to the master layout control
curve(the one on the ground) using the above video method and just
switch from one constraint to the next. Now, if for some reason you
ever have to tweak the position of your entire animation with the
layout curve, the constrained object will come along without you
having to reposition all the frames where it's no longer constrained
to the hands.
For example, let's go back to the basketball player dribbling a
ball, but this time, with the ball constrained to his hand whenever
he's contacting it. You have the shot all animated and polished to a
beautiful shine but then the director comes in and tells you that
the hoop has been moved 5 feet to the left and the character needs
to be translated to match. If you just turned off the constraint,
this would mean moving the character, then moving the ball to line
up again. If you constrained the ball to the layout curve, all you
would need to do is move the layout control curve and you're done!
Blend attribute vs Shape node control
One thing to keep in mind when constraining is to try and avoid
animating the rest position or the on/off of the constraint node
itself (which you can find in the channel box under SHAPES). While
it works for the most part, you can run into problems later on when
trying to re-time your shot as the constraints won't move with the
rest of the animation. The better solution is to set a key on the
constrained object which will create a blend attribute in the
channel box. This blend attribute's name will depend on the type of
constraint you used, for example, if you used a parent constraint,
it will be named "Blend Parent" and if you used a point constraint,
it will be "Blend Point". With this attribute you can easily turn
the constraint on and off without having to worry about re-timing
issues later on.
Now all these tips are fine and dandy, but what if you don't need a
constraint anymore and want to get rid of it?
To remove a constraint,the method I prefer is to select the
constrainer followed by the constrained object, then go to
"Constrain > Remove Target". This will delete the constraint, which
you can double check by making sure the attribute in the channel box
aren't blue anymore (or green if you had them keyed as well).
Another way you can go about it is to select the constrained object
then open up the outliner and find the object you selected. If it's
buried deep in the outliner, you can hit the F key to jump to the
selected object. Once you've found it, hit the + to see the object's
nodes, select the constraint node (it should have a picture of a !
in front of it) and hit delete. If the constrained object is part of
a rig, for example Stewie's IK hand, I would recommend using the
previous method as rigs have their own constraints built in that
should not be deleted by accident.
If you are still having trouble figuring out how to constrain
objects, you can always try a third party plugin such as ZV Parent
Master, which basically turns parenting into a simple one click process.
You can download it from CreativeCrash.com and find videos on how
to use it at the creators website, Paolodominici.com.
While I've heard very good things about ZV Parent, one thing I don't
like is that you have no control over exactly how the constraint is
created, you just have to trust the plugin. Although I haven't had
it happen to me, I've also heard that ZVParent has the possibility of
breaking your rig so if you use it, be sure to double check the rig
once you parent.
I highly recommend trying to attend Kevin Freeman's
Maya Tech Q&As as often as you can. Each one offers
fantastic tips that will help you work much more efficiently
You can also look into the book,
"How to Cheat in Maya 2012". Written by a former AM
student Eric Luhta, and AM mentor Kenny Roy, it covers
Maya from the perspective of an animator and goes through all the basics.
I hope that all this information has been useful. These are just a
few methods that I use to constrain, so be sure to experiment and
find the methods that work best for you. Also, make a point to ask
your mentor how they handle constraints as they may have some
amazing tips. If you need help with anything I mentioned here or if
you have a constraint situation that won't work with these methods,
feel free to send either of us a message on AMConnect, Skype or PM
and we'd be more than happy to help.