Hello! Welcome to another Tea Time how-to. In this episode I talk about how to constrain a prop to two hands in a way that allows flexibility and ease-of-use during animation.
In this tutorial, we will create a stack of constraints that allows the animator to animate a single hand that in turn controls both the prop and the other hand. I will be using the right hand to control the others.
First things first: My Maya's UI is different from yours. I've been in Maya for quite some time and have customized it to my own workflow. I am also in 2016, whose menus are in a different order and placement from previous versions. All the tools I use here are available in Maya's menus; there are no special tricks or plugins involved.
For the animation part (coming shortly), you will need to enable animation blending. You can find this under Preferences -> Settings -> Animation -> Animation Blending. This allows keying an object while it is constrained.
Let's Get Started
Start a new scene and import or create the prop you wish to animate. In this case, I will use a cylinder. Create a controller for your prop. Most rigs in Maya are created using NURBS curves, so I will use one here. Create a NURBS circle and group it with CTRL-G. This grouping is important because it allows animation in addition to the constraint. If you would prefer, you can use any other object as the parent, like a locator or another NURBS object. I use a group here because I want to keep my viewport clean. Align the prop to its controller so it has a natural-feeling pivot point. Constrain the prop to the prop's controller with a parent constraint. To do this, select the control circle, then the prop, and add a parent constraint with offset maintained.
Reference in your character. In this case I used Norman because he is very simple and easy to work with. I also switched his arms to IK. The controlling arm (right arm in this case) can be in any mode you wish. It can even switch modes, depending on how you set up these constraints. The secondary arm must be IK, or you will have conflicting controls on that arm. You should not be translating your FK controls; they should only rotate.
Create a controller and group for the left hand. Create a NURBS circle and group it like you did with the prop. Snap the group to the left IK hand controller. There are numerous ways to snap objects, so I will not go into detail here. Orient and scale the group to align with your IK control. Move the group to where the prop will sit in the hand once constrained and gripped. Doing this gives your controller a predictable and easy pivot point to animate with once the hand is constrained to the prop. Freeze transforms on the control group.
Constrain the left hand IK to this controller. Select the new control, then the hand IK, and make a parent constraint. I use a parent constraint because I want ultimate control over the IK. Ensure "maintain offset" is enabled so the hand does not snap to the controller's location. Now that the hand is constrained, you can move the new controller and animate the hand. Because I used a parent constraint, the hand rotates from the pivot of the new controller, such that it will rotate around the prop when gripped.
You will notice I did not add a new controller to the right hand. This is because the right hand IK is controlling the entire stack, so it doesn't necessarily need a new controller. However, you may add a new controller to the right hand if you wish. This allows you to move the pivot of the right hand where you see fit, like we did for the left hand. For example, you could move the pivot to where the prop will sit in the hand. The process is identical to the left hand.
Our setup is done; now we need to make the real constraint stack. What we do here will string all these objects together for animation.
Let's arrange our objects in positions that make an intuitive grasping pose. I put the sword in front of Norman and aligned his hands into somewhat natural positions to grip the sword with both hands. He's right-handed, so I put the right hand on top, left on bottom. When moving the left hand and prop, it is important to move the control's group instead of the controller itself. This is because the controller's location is relative to its parent, the control group. If you want to clear transforms on the control, it will center the control relative to the parent group. It is more intuitive for the animator if clearing transforms simply resets the grip position on the prop instead of sending it off into space.
Constrain the prop to the right hand. Select the right hand IK control, then the prop control group, and make a parent constraint with offset. Move the right hand and you'll see the prop now follows.
Constrain the left hand to the prop. Select the prop control, then the left hand control group, and make a parent constraint with offset. Move the right hand or the prop and you will see the left hand follow.
I hope this was useful to you. This is only one method to constrain a prop to a character; every scenario will require a slightly different order or pivot point, so use this as a guide, not a rule. If you want to toss a prop between two hands, you could constrain both hands to the prop, or perhaps the prop to both hands. My animation demo will cover animation technique and how to deal with these constraints while working on your shot.
Don't forget to follow us on Twitter @TeaTimeAnimates
Check out our new 'Industry Links' tab to see info on some of our friends in the industry!
Welcome to Tea Time Animation! Please introduce yourself in the 'introductions' thread.
Constraining in Layers for Animation 2016-03-19
How to constrain a prop to two hands for ease and flexibility in animation