Hey, welcome to the second part of the series, “How to Animate with Constraints in Maya”. If you have missed the first part, you can check it out here. It talks about what the different constraints can do.
When I first started learning Maya, I was very confused between parent and parent constraint. I didn’t know what their difference are. They seemed to share the same function.
Why are there two separate functions?
Those Maya guides online didn’t help me in my understanding because they were written in a very technical, instructional manner. So to help myself remember their differences better, I have come out with my own analogy.
My Analogy for Parent and Parent Constraint
Parent, to me is similar to a real parent-child relationship. Once a parent gives birth to a child, the child will always be the child of the parent, regardless of what he or she does in future.
Parent constraint, on the other hand, is more like a set of rules and commands that is given by an authority figure which you need to follow. The authority figure can be your parent, but it can also be the government, your teacher or your boss. The relationship in parent constraint isn’t important. What’s important is the instructions given has to be followed.
I will refer back to this analogy as I explained the differences between parent and parent constraint below.
Differences Between Parent and Parent Constraint
1. Hierarchy of the Parent and Child Object
When you use parent, the child object will be shifted under the parent object’s hierarchy in the outline (as seen in the above picture). It’s like the child is now part of the parent’s family tree.
For parent constraint, there’s no such hierarchy. The parent and child objects remain as two separate objects. The child is just like a normal citizen following the rules given by the government. No relationship is established in the parent constraint.
2. Ability to Turn On and Off
The next difference is that parent constraint allows you to turn it on and off while for parent, you can’t.
Parent is like a real parent-child relationship. Once a parent-child relationship is established, it will remain this way forever. The only way to break the relationship is to disown the child (i.e. unparent the child). The object can only either be the child of the parent or be on its own. It can’t be both.
Parent constraint, on the contrary, is like parents grounding their children. Your parents may ground you when you misbehave, but they may remove the grounding once they are satisfied with your behaviors. So unlike parent, it can be turned on and off.
3. Order of Selection
Another difference is the order in which the parent and child object are selected.
I don’t know why Autodesk decides to reverse the order of selection for parent constraint. Perhaps they want to differentiate the two. I find it easier to remember if the orders are standardized though.
But anyway, this is how I remember the order:
For parent, the child is always selected first as a young child needs their parents for love and survival. So the child is selected first, followed by shift-selecting the parent and then hit “P”.
For parent constraint, the parents command the child to do something and the child has no choice but to follow. So the parent is selected first, followed by shift-selecting the child and then the command (Constrain >> Parent).
4. The Child’s Freedom of Movement
On my previous post, I mentioned that when you implement parent constraint, the attributes of the child would be highlighted in blue. This is because these attributes now follow the parent object. The child no longer has control over these attributes anymore.
When you move the child to a new position, it’ll just snap back to follow the parent’s attributes. The only way to allow the child to move freely is to turn the constraints off.
For parent, even though the child now follows the parent object. It’s still free to move on its own. Even though when the parent object moves, the child follows. The child attributes remain unchanged or zero (if you haven’t move your child object at all).
Like in a real parent-child relationship, even though your parents are your parents, you still get to choose what you want to eat and what job you want to do.
5. Attributes Affected by the Parent Object
Both parent and parent constraints allow you to control the child’s translate and rotate attributes using the parent. Their only difference is the scale attributes.
For parent, the child’s scale attributes of the child follows the parent while for parent constraint, they don’t.
6. Amount of Control Users Have
When it comes to parent, you don’t have much control. You can’t decide which attributes to control. It’s all or nothing.
Parent constraint, on the other hand, allows you to isolate a single attribute. You have the ability to select one channel (e.g. translate x) and constraints that. When you move the parent object, the child will only take the same Tx value. The other values such as Ty and Tz aren’t affected.
Plus, in parent constraint, you can control how much you want the child object to follow its parent by adjusting the weight of the constraints.
7. Ability to Set Key Frames
For parent, you can’t set key frames on the parent-child relationship. You can only set key frames on the parent and child objects individually.
For parent constraint, you can set key frames on the constraint. Once you set a key on the child object, you will have a new attribute on the channel box called the “Blend Parent”. With that, you can set when to turn on or off the constraint. (More on this in future posts).
8. Breaking the Connection
For parent, you break the connection by simply selecting the child object and hit Shift+P. Shift+P is a shortcut for unparent. Alternatively, you can also go to the menu, Edit >> Unparent.
For parent constraint, you have to follow the same order as mention in #2. Select the parent object again, followed by shift selecting the child object and go to the menu, Constrain >> Remove target. An easier way to do this is to delete the constraints directly from outliner of the child.
For the next post, I’ll be writing about the practical uses of parent constraint for animation and how to set up one in Maya.