Step
1
Whatever
you can do to make animating your character easier is worth doing.
Using sliders or spinners to control the rotations of some bones
is one of the things that makes animating easier. The way this
helps when animating fingers is that you don't have to zoom up
on the hand and select each individual bone every time you want
to pose the hand. All you have to do is click on the control object
for the arm, which you would probably have selected anyway if
you're in the middle of posing the arm, and move the spinners
or sliders that we're going to build into that object.
The
end results you'll get from using Reactor Controllers and
spinners are almost exactly the same as using Wiring Parameters.
In the end you'll be able to use the spinners to control the positions
of the fingers. So why use Reactor Controllers instead
of Wiring Parameters? First of all, it's easier to set
up for bones that move in more than one axis. For example, when
you curl your thumb into your palm the root bone doesn't just
bend in, it also bends down a little. So it's rotating along more
than just one axis. To get this working through Wiring you'd
have to wire each axis separately and then play with the numbers
of the wiring equation until it looked right. But with a Reactor
Controller you can rotate the bone wherever you want, along
any axis, the first time you apply it.
Secondly,
Reactor Controllers can be easier to use because they offer
instant visual feedback when you're setting it up. And while setting
up the controller, you work with the bones using the same translation,
rotate, and scale tools you're used to working with. There aren't
any complex mathematical equations to get your head around.
So
we'll start with the simple hand rig from the first
tutorial, as well as the Point Helper from the last
tutorial. So I won't go over how to add the Custom Attributes
to the helper in this lesson.
To
start with, we'll rotate the thumb so that it rotates more naturally,
like we did in the last lesson.

|
|
Step
2
Before actually adding the Reactor Controllers to the bones,
you want to animate the values in the spinners of the Custom
Attributes that have been added to the Point Helper.
This will make it much easier to work with the Reactor Controllers
because you won't have to keep going back to select the Point
Helper and changing the values of the spinners as you're working
with the controllers. You'll see what I mean in a little bit.
Select
the Point Helper and make sure that all the values of the
spinners are set at 0. Then click on the Auto Key button
towards the bottom of the screen. Next, move the Animation Range
Slider all way to the end of the animation range. It doesn't
really matter how long the animation is, we're going to delete the
keys when we're done anyway. Now set the values of the Custom
Attribute Spinners to their maximum on all the Curl spinners.
We only set the values of the Curl spinners right now because
we'll be working on those finger actions first and they're all independent
from each other. In other words, the Index Curl value doesn't
affect the pinky, but both the Fist value and the Index
Curl value affect the same finger. So we want to make sure that
the spinner we're working with only affects one finger at a time.
Turn
off the Auto Key button and make sure that you slide the
Animation Range Slider back to 0 when you're done.

|
|
Step
3
We'll
start with the root bone of the index finger. Add a Rotation
Reaction Controller to it by clicking on the bone, going to
the Motion Panel, highlighting the Rotation Controller
for the bone, clicking the Assign Controller button,
and then selecting Rotation Reactor from the menu.

|
|
Step
4
When
the Reactor window pops up click on the React To: button.
This is where we connect the bone's rotation to the value in the
spinner. So with the React To: button activated, click on
the helper object and navigate through the submenus to select the
Index Curl Custom Attribute.
Once
you click on the Index Curl selection in the submenu the
first connection is made. So now whenever the Index Curl spinner
is at 0, the root bone of the index finger will be at it's default
position.

|
|
Step
5
Now
we'll make the second connection so that when the Index Curl
spinner's value is at 10, the root bone of the index finger
will be rotated down. This is where animating the spinner values
earlier comes in handy. You could manually select the Point Helper,
go to the Modifier Panel, and change the Index Curl value
to 10, or you can just hit the End key on the keyboard to
go to the end of the animation range where the value has already
been animated to 10. This way you don't have to do all these extra
mouse clicks, because you can just use the Home and End
keys on the keyboard to go back and forth between the beginning
and end of the animation range.
So
make sure you're at the end of the animation range and click on
the Create Reaction button.

|
|
Step
6
You'll
notice that there is now a Reaction02 in the list box on
the left. Also, notice at the bottom of the window the Reaction
Value: is 10.0. This is the value of the Index Curl spinner
at this frame of the animation. This is why we pre-animated the
spinners.
Now
we'll tell Max how this bone should be rotated at this particular
spinner value. Click on the Edit Reaction State button.

|
|
Step
7
Using
the Rotation Tool, rotate the bone down to where your finger would
normally stop when making a fist. You can watch the Current Output:
value changing as you rotate the bone. When the bone is where
you want it, click on the Edit Reaction State button to turn
it off. This is very important. It doesn't turn off automatically
when you close the window, so if you don't turn it off before you
close the window you'll still be in edit mode and the bone won't
work properly.
Close
the window and slide the Animation Range Slider back and
forth. You should see the bone rotating up and down as you do.
Go
back to step 3 and follow the same steps for all the bones of the
four fingers and the thumb. Basically, you want the fingers to look
like they're in a closed fist position at the end of the animation
range when you're all done. Remember to use the Home and
End keys on the keyboard to quickly go to the start and end
of the animation range. Always go to the start of the range before
you add the controller and a new bone, and go to the end of the
range before you press the Create Reaction button to make
the second connection. If you run into trouble you can usually fix
any mistakes by using the other buttons in the window. Delete
Reaction is self explanatory, and Set Reaction Value will
change the Reaction Value: for the highlighted reaction to
whatever the value of the Point Helper's Custom Attribute spinner
is at the frame you're on. Or you can just close the window, undo
the assigning of the controller and start over again. That's usually
easiest.

|
|
Step
8
If
everything was done right you should see the fingers curl into and
out of a fist as you move the Animation Range Slider back
and forth. But you might notice the the thumb actually passes through
the fingers as it does its curl. What we need is for the thumb to
be delayed slightly so that it curls after the fingers are almost
into position. This is where the Curve button comes in handy.
Select
the root bone of the thumb, right click the Rotation Reaction
Controller in the Motion Panel, and select Properties.
This is how you get back to the Reactor Parameters window
to make changes. With the window open, move the Animation Range
Slider to the middle of your range and click on the Create
Reaction button. Notice that it adds the reaction to the middle
of the list instead of the end. This is because the reactions are
listed in the order of their Reaction Value (the value of
the Point Helper's Custom Attribute spinner). Now click on
the Curve button.

|
|
Step
9
This
is the Reaction Curve window. The points represent the different
reactions. The red line on the top represents the Reaction Value
number, and the blue line underneath represents the Current
Output number. What we want to do is take the middle point and
convert it to a Bezier-Smooth point by right clicking on
it and selecting Bezier-Smooth. This will make sure the animation
is smooth as the spinner is changed from 0 to 10.

|
|
Step
10
Now
move the point over to the right. This will take the thumb position
at the halfway point of the animation and delay it until later in
the animation. This way the thumb won't pass through the fingers
as they all curl up. Close both of the windows when you're done.

|
|
Step
11
That's
it for all the Curl spinner. Now a word about adding other
Rotation Reaction controllers so that you can use the other
spinners to control the Finger Spread and the Fist values.
Whenever
you have multiple spinners controlling one bone, you need a separate
Rotation Reaction controller for each spinner. You also need
to delete the key at the end of the animation range for each of
the spinners you already hooked up, and then animation the new spinner
like we did with the Curl spinners.
So for the Finger Spread spinner, select the Point Helper
and go to the end of the animation range. Select the key there
and delete it. You should see the Curl spinners get set back
to 0. Now click on the Auto Key button to turn on animation
mode and set the Finger Spread spinner to 10. Click on Auto
Key again to turn off animation mode. Go back to the beginning
of the animation by dragging the slider or hitting the Home key
on the keyboard.
Now
select the root bone of the index finger, go into the Motion
Panel, click on the Rotation Controller and assign a
Rotation List controller.

|
|
Step
12
Highlight
the Available slot and assign another Rotation Reactor
controller. Close the window when it pops up.

|
|
Step
13
What
we need to do is make the new controller active. Otherwise nothing
will happen if we try to add new reactions. So scroll down the panel
window if you have to and select the second Rotation Reaction
controller in the Rotation List window. Click the Set
Active button.

|
|
Step
14
Select
the new Rotation Reactor controller and right click on it
to bring up the Properties window. Now create the reactions
for the Finger Spread like we did before. Make the outer
fingers spread apart more than the inner fingers.

|
|
Step
15
It
should look something like this when you're done.

|
|
Step
16
Follow
the same steps to hook up the Fist spinner. Basically you're
just repeating everything you did with the Curl spinners,
but making it so that all the fingers will curl with one spinner.
It's debatable as to whether this is worth the time to do, because
you can always animate the individual finger Curl spinners
to close the hand into a fist anyway. It's up to you.

|
If
you want to still have manual control over the finger bones, in addition
to the spinner, you can add a Euler XYZ controller into the Available
slot of the Rotation Controller for each of the finger joints.
Once you add the Euler XYZ controller you need to set it as active,
otherwise nothing will happen when you try to rotate the bone manually.
Reactor
controllers are very powerful and easy to use, once you get the hang of
them. You can add more spinners if you like for common hand poses like
pointing, thumbs up, peace sign, or whatever. Experiment and have fun.
Click
here to go back to the "Hand" page...
|