|
|
Mastering
3D Studio MAX R3 |
| 11. Select the dummy
object, click the Align tool, and click the turn right narwhale.
In the dialog box, check all three axes, and check Center for both Current
Object and Target Object.
|
- 12. Move the dummy so that it is closer to the center
of rotation for a right turn: closer to the middle of its body lengthwise
and slightly toward the right.

- 13. Select the turn right narwhale and
go to the Control Points sub-object level. Your control points should
still be selected; if not, select them again, as in Step 8.
| 14. Click the Rotate
tool. In the Reference Coordinate System flyout, choose the pick coordinate
system, click the Select by Name button, and choose Dummy01 . Dummy01
should now appear in the flyout.
|
| 15. In the Use Center
flyout, choose Use Transform Coordinate Center.
|
- 16. In the top viewport, rotate the control points
to the right, around the Z axis. Your narwhale should now be turned
to the right like the one in Figure 7.14.
FIGURE
7.14 Narwhale control points rotated with respect
to dummy object
- 17. You can now use this method to deform your other
morph targets and morph your narwhale, as you did the teapot in Chapter
6. Remember, when you are rotating control points, that you are using
the dummys coordinate system, so you need to choose your axis
constraints accordingly.
|
|
| NOTE You can
see an example of the morph setup in narwhale_morph_final.max.
You can load this file and animate from here if you like. You may
want to review the morphing exercise in Chapter 6.
|
Animating Hierarchies
In Chapter 6, we described deformation animation as a common way to animate
inanimate objects like sacks of flour and bars of soap. For
humans and similarly complex structures, this method is insufficient.
Its necessary to create a system of hierarchical linkages to animate
the character.
The character itself may consist of hierarchical linkages of its separate
body parts. This is referred to as a segmented model. At one point
in the history of 3D computer animation, this was the only type of model
available. The more difficult case occurs when the character is a single
mesh. You often need this to create the effect of a smooth, continuous
skin.
Linking up
a Simple Hierarchy
Lets start by creating a very simple segmented hierarchical model.
Well make an upper body.
- 1. Reset MAX.
- 2. Create a cylinder in the top viewport, about
twice as tall as it is wide (say, 25 radius and 50 height). Name this
torso.
- 3. Create a new cylinder in the left viewport at
about the position of an arm, about 10 radius and 30 length. Name this
arm upper L .
- 4. Position the upper arm to the left of the torso
by using the Move tool in the top viewport.
- 5. Shift-drag the cylinder to the left and choose
1 Copy. Name the copy arm lower L.
- 6. In the left viewport, create a sphere positioned
over the arm area. Check Base to Pivot in the Create tab. Name this
hand L.
- 7. In the top viewport, move the hand to the left
of the lower arm.
- 8. In the top viewport, create a sphere over the
torso area, checking Base to Pivot. Name this head.
- 9. In the front viewport, move the head to the top
of the torso. So far, your character should look like Figure 7.15.
FIGURE
7.15 Upper body of character so far
- 10. Repeat steps 3 through 7, except this time,
in the right viewport, drag to the right and name the objects with R
instead of L.
|
|
| TIP If you want
to mirror the pieces of your left arm to make a right arm, use the
Reset XForm utility on each piece of the arm afterward. You may even
want to collapse each piece to an editable mesh after that, as well.
Mirror is a complex transform that completely rearranges the transforms
of the object in world space; this can cause problems when the delta
transform (the motion or change in transform values) is calculated
for inheritance through the hierarchy. By resetting the transform,
the transform values are set back to zero, and the current position,
rotation, and scale information is placed in an XForm modifier. Whenever
your hierarchy is not transferring the motion as it should, try unlinking
all the pieces and resetting all the transforms. Sometimes the extra
step of collapsing is necessary to get the results you want.
|
| 11. Edit Ø
Hold.
|
- 12. Using the Select and Link tool, drag from the
head to the torso, then from the left hand to the left lower arm, then
from the left lower arm to the left upper arm, and then from the left
upper arm to the torso.
- 13. Click the Move tool to get out of the Link tool.
- 14. Click the Select by Name button and check the
Display Subtree box. The hierarchy should look like Figure 7.16. If
it doesnt, Edit Ø Fetch and
redo step 11.
FIGURE
7.16 The subtree hierarchy when you Select by
Name
- 15. Using the Select and Link tool, drag from the
right hand to the right lower arm, from the right lower arm to the right
upper arm, and finally from the right upper arm to the torso.
- 16. Click the Select by Name button again. The hierarchy
should now look like Figure 7.17.
FIGURE
7.17 The new hierarchy of the upper body
- 17. The character should look similar to that shown
in Figure 7.18. Edit Ø Hold if youre
going to work right through the next few sections; well Fetch
the scene at this stage later in this chapter.
FIGURE
7.18 Complete upper body of a simple, segmented
character.
Using Forward
Kinematics
Forward kinematics is the default animation system for hierarchies
in MAX. Kinematics organize how motion (kinetics) is inherited
through a hierarchy. When we linked up our hierarchy, we linked from child
to parent. In forward kinematics, the change in transforms (move, rotate,
and scale) is inherited by the child from the parent, so when the parent
moves, everything below it moves with it. Lets try it on our model.
- 1. Select upper arm L.
- 2. Go to frame 100 and turn on the Animate button.
- 3. Rotate the upper arm forward around the Z axis.
The whole hierarchy below the upper arm rotates with it
- 4. Turn off the Animate button and play the animation.
You can refine this animation as much as you like, by rotating the lower
arm and hand separately, for instance. In forward kinematics, you are
always moving the object and anything below it in the hierarchy. You can
also view the final results of this in hierarchy_fk.max
on the CD.
Using Inverse
Kinematics
In inverse kinematics (IK), the opposite relation holds true:
the child moves the parents. (More like children of the living and breathing
variety.) There are several different kinds of IK in MAX. In any case,
IK involves very complicated calculations by MAX, so as to adjust the
upper part of the hierarchy accordingly as the end effector (the
end of the chain) gets to its destination.
© 2000, Frol (selection,
edition, publication)
|
|