CAP 201a - Computer Animation I

Lesson 3 - Chapter 8, Introduction to Animation

Objectives:

This lesson turns to specific animation tools included in 3DS Max and methods of using them. Objectives important to this lesson:

  1. Hierarchy, part 2
  2. Dummy objects
  3. Animation: bouncing ball
  4. Track editor-Curve editor
  5. Track view
  6. Anticipation and momentum
Concepts:

The chapter begins by revisiting the mobile model from chapter 2. The first exercise is meant to create a problem that the authors will show you how to solve.

Exercise 1: Animating the shapes
This exercise starts on page 370. You should open your own mobile file unless it is unusable. If it is unusable, you should make a new one on your own. For now, you can open the file indicated on page 370 if you must.

  1. Select frame 0 on the timeline, and turn on the Auto Key function. As noted in the instructions, do not scrub the animation until instructed. (You will be happier this way.)
  2. Select the triangle object as instructed and move the time slider to frame 50. The authors are being less than precise about their instructions: let's fix that. Click the Rotate tool, and rotate the triangle 360 degrees in the z-axis.
  3. Select the square object, and rotate it 400 degrees in the z-axis at frame 50.
  4. Continue making changes at frame 50. Select the star and rotate it 450 degrees in the z-axis.
  5. Scrub the animation. The instructions should produce a mess. Do not save the file with the same name. Save the file incrementally.

The text explains that animation is created with animation controllers, sub-programs in 3DS Max that the text will introduce at this point. There are several controllers available in the program for each kind of animation. The image at the top of page 373 shows available rotation controllers. The steps on pages 372 and 373 show you how to check which controllers are currently assigned to an object, and how to change them if necessary. Do this for practice, and to see the effects.

Exercise 2: Animation controllers

  1. Select an object that has been animated (In this case, the square). Select the Motion panel, and open the Assign Controller rollout. Note in the image at the bottom of page 372 that the object being illustrated has three animation controllers assigned: Position XYZ for Position, Euler XYZ for Rotation, and Bezier Scale for Scale. The text discusses the current default controller for rotation, Euler XYZ, and a previous default in 3DS Max, TCB Rotation.
  2. In this example, select the Euler XYZ rotation controller, then click the Assign Controller button, which is above the actual list of controllers (see page 372). When the Assign Rotation Controller window opens, you should see a list like the one at the top of page 373. Select TCB Rotation, and click OK.
  3. There is a typo in step 3 on page 373. The second line should say "you'll see that the square and the bar beneath it are now behaving as you would expect". Test the procedure as indicated in this step.
  4. Follow the instructions here to make the same correction for the triangle and the star objects. Save your file incrementally.

(For further reference, see this Autodesk article on the problem, written for 3DS Max 4. At that time, the default controller was not the Euler controller. Note that the icon for the Assign Controller button has changed since version 4.)

The text explains that the Euler XYZ animation controller is preferred over the TCB controller for two reasons. The Euler controller lets you edit X, Y, and Z tracks separately, and the TCB controller reduces the number of rotations you give the objects.

Exercise 3: Editing the TCB rotation keyframes

Since the TCB controller changed the number of rotations of the objects, the text shows you how to overcome that. Well, it almost shows you. This exercise is not too valuable, since the text changes tactics at the bottom of page 374. We will skip this exercise and move on to the discussion of using dummy objects.

The chapter continues with a discussion of dummy objects, which can be used to correct the problem created above, while keeping the animation controller that was originally assigned. The text mentions that animators frequently use dummy objects to control rigs. For now, think of a rig as a flexible or jointed framework that works like a skeleton for characters in a scene. The rig is used to control how the character may and may not move.

In this case, dummy objects will be used like buffers between objects that are linked in a hierarchy, so that unwanted motion is not inherited by child objects.

Exercise 4: Placing dummies in the mobile and linking the dummies

  1. The text wants you to open a version of the mobile file that does not have any animation for the individual objects. It is a good idea to open the file supplied with your text. Open that file, then click the Create panel. Click the Helpers icon, and click Dummy.
  2. You will be puzzled to see that a dummy object has no Parameter rollout. As instructed in the text, drag a shape over the circle object in the Front viewport that is a little bigger than the circle.
  3. Put the time slider at frame 0. Click the Select and Link tool. Connect the circle to the dummy object.
    This may be easier if you click the Select tool first, then press H for the Select by Name window. In it, click the circle object. Next, click the Select and Link tool, press H again, and click the dummy object. Note that the prompt in the Select by Name window changes at this step, making it clear that you are to click the parent object.
  4. In this step you have to link the dummy object to the correct bar. (The one above the circle.) In this case, it will not easy to use the Select by Name method unless you know the name of the bar you want to make the parent. This is a good argument for giving your objects meaningful names as you create them. Play the animation to test the connection.
  5. Animate the circle as instructed. First, go to frame 100 on the timeline. Second, turn on the Auto Key feature. Third, select the circle, and use the Rotate tool to rotate it about 200 degrees on its z-axis. The text does not say to do it, but you should test the animation again at this point.
  6. Repeat the steps above to create dummy objects for each shape in the mobile, and for each bar that has a parent. Refer to the diagram on page 55 for a guide to the intended parent-child relationships: each arrow in the last picture on that page represents a dummy object that needs to have a parent and a child. The dummies should keep the shapes and bars from rotating in unexpected ways.

Exercise 5: Editing dummies (align tool)

This exercise only does one thing, which is to use the align tool to make a dummy object behave like another object in the scene. We will skip this exercise.

Project: the bouncing ball

This project includes a series of exercises to animate a bouncing ball in several ways. Begin as indicated on page 378, by copying the project file to your working area from your CD or from the class resource drive.

Project Exercise 1: Animating the Ball 

The exercise starts by telling you that you will be working on the gross animation for the scene first. Setting the gross animation is also called blocking the scene, which may be more familiar to you if you have been an actor. If neither term is familiar to you, you will be working on the major movement of objects (and characters, if the scene had characters).

  1. The scene contains a ball object. In step 1, you adjust its pivot point. The text does not tell you to select the ball first. SELECT THE BALL FIRST. Then open the Hierarchy panel, choose Pivot, and click the Affect Pivot Only button. Set the pivot point at the bottom of the ball, then turn off the Affect Pivot Only button. (The paragraph calls this button by the wrong name in the third sentence, but by the right name in the sixth sentence.)
  2. Turn on the Auto Key feature and set the time slider at frame 10. Click the Select and Move tool, and select the ball. Move the ball to 0 on the z-axis with the mouse or with the transform type-in box at the bottom of the interface. This should result in a keyframe at time 0 and at time 10.
  3. The text starts its numbering over again. I will not do so here.
    In frame 20, you want the ball to go back to the same position it was in originally at frame 0. The text sensibly recommends that you copy frame 0 by selecting that frame (click it on the timeline), holding down a shift key, and dragging the frame to frame 20.
  4. You should scrub the time slider to check the movement so far.

The text turns to the idea of turning a few frames into a repeating cycle by using a tool called the Track View Curve Editor. (The Track View tool has another editor, the Dope Sheet, which is not used in this chapter.)

Project Exercise 2: Introducing the Curve Editor 

The exercise starts on page 380.

  1. Make sure the ball is selected. Use this menu sequence: Graph Editor, Track View, Curve Editor. You should see a screen something like the one on the bottom of page 380.
  2. Look at the illustrations on page 381, regarding step 2. Find and click the Parameter Curve Out-of-Range Types button. (And pause to wonder what kind of person named it that. If someone suggested that name to me, I would have asked them to call it the Extrapolate Curve button.) As noted on page 382, the Out-of-Range part of the name refers to extending the curve beyond the range of the first and last keyframes.
  3. Once you have clicked the button with the god-awful name, you will see a dialog box that lets you choose from the six ways the program knows how to extend the existing curve.
    Question 1: What are names of the six types of curve extensions?
    For this exercise, click Loop, then click OK.
  4. Note the dashed line in the curve editor that stands for the extrapolated curve.

The features of the Parameter Curve Out-of-Range Types button are discussed on pages 382 and 383. On page 384, two more related concepts are introduced: ease-in and ease-out. These features can be applied to any keyframe. They mean that the transition into or out of the keyframe can be made more gradual and less abrupt.

Page 385 brings up the concept of gravity, as it applies to a bouncing ball. The animation does not look realistic yet, because a real bouncing ball moves faster as it approaches the bottom of a bounce, and moves slower as it approaches the top of a bounce. Our ball is moving at the same rate at the top and the bottom of the bounce. The text introduces a new technique to handle this problem, using the Curve Editor again. (This time it uses the Mini Curve Editor. Don't be confused by that. It is just smaller version of the Curve Editor that leaves more of the viewports visible than the larger Curve Editor.) The text refers to the thing you will edit next as a tangency. A tangent is a line that touches a curve at one point. In a sense, the keyframes touch the curve of change for an object at one point on that curve. What you are editing is the way the keyframe is attached to the curve. The default kind of tangent for a keyframe is Smooth, which moves into and out of the keyframe at the same rate.

Project Exercise 3: Changing tangency type

In the procedure on page 386, you change the tangency of the keyframe at the bottom of the bounce to Fast. This makes the ball speed up near that tangent. You leave the tangencies at the top of the curve Smooth. The effect of this is to make the ball "less fast" when it is near a Smooth tangency, and "more fast" when it is near a Fast tangency. Make the changes indicated in the text.

The text changes topics again on page 387, explaining that the ball should also be smashed down a bit at the bottom of a bounce, and it should extend (elongate) a bit at the top of a bounce. The two concepts are called squash and stretch.

Project Exercise 4: Squash and Stretch

  1. In step 1, select the ball and turn on the Auto Key feature if it is not on. You are told to turn on the Mini Curve Editor and drag the Track Bar Time slider to frame 10. Before you do this, take note of something. Turn the Mini Curve Editor off, and move the Time Slider on the scene timeline to Frame 10. Now turn on the Mini Curve Editor and check the position of the Track Bar Time slider. It looks like it is on Frame 9, not 10. The scene timeline and the Mini Curve Editor do not appear to use the same numbering scheme. Take this into account as you use the Track Bar Time slider.
    After you move the slider, you are told to access the flyout for the Scale tool and choose the Squash and Scale tool. (Its picture appears on page 387.) The instruction after that picture is poorly worded. What you should do is place your mouse pointer over the blue handle (z-axis handle) of the transform gizmo that appears on the ball. Watch the values change in the type-in transform boxes at the bottom of the interface as you drag that handle down. You want the value for the z-axis to be about 80. (It will not be exactly 80 unless you enter that number manually. Note that the other values go up as the z-axis value decreases. The Squash and Scale tool maintains a constant volume for the object, so as z is decreased, x and y increase.)
  2. Step 2 tells you to move to Frame 0. (You may want to move on the timeline instead of in the Mini Curve Editor.) Drag the z-axis handle again, this time to increase the z value to about 120.
  3. The text tells you that you could shift-drag keys to copy them from one position to another on the timeline. Since the Mini Curve Editor is blocking your view of the timeline, it is good that you can copy the keys in the Mini Curve Editor (or the Curve Editor) as well. First, select the Scale track in the Controller window. Second, find the Move Keys tool in the Mini Curve Editor's toolbar. Access the flyout for the Move Keys tool as indicated in the text, and change it to the Move Keys Horizontal tool. You will use this tool in a minute.
  4. Drag a selection marquee around the indicated keyframes located at frame 0. (You do not need a special tool for this. Just drag a rectangle around them with your mouse.) You can now shift-drag any one of those keyframes to copy it to frame 20, and the others will be copied there as well.
  5. Use the Mini Curve Editor's menu bar to select Controller, Out-of-Range Types. Click Loop, and click OK. Test and save incrementally.

The next problem is with the timing of the squash and stretch events. 3DS Max has automatically calculated inbetweens that assume a constant transition from one state to another. This is not realistic: the ball should not squash before it meets the floor, and it should recover immediately upon bouncing. (You should realize that the squash and stretch effects used in this scene are exaggerated, but we still want some realism.)

Project Exercise 5: Setting squash and stretch timing

  1. Close the Mini Curve Editor. On the scene's timeline, put the time slider at frame 8. Make sure Auto Key is on. Use the Curve Editor (not the Mini Curve Editor) for the next steps. Locate and select the ball's Scale track. (The ball has to be selected first.) Find and click the Add Keys button on the Curve Editor's toolbar. Click a Scale curve at the marked frame. A new keyframe appears on all the Scale curves.
  2. Examine the picture at the bottom of page 389. Find the two type-in boxes indicated in that picture. The left box is for the frame number, and the right one is for the value to use at that frame. Enter 100 in the right box to set the Scale curves to 100% at frame 8.
  3. In step 3, you are instructed to move the time slider to frame 12, add new keyframes, and to set the curve values to 100 at that keyframe as well. The effect should be to make the ball squash only for those few frames in each cycle.

On page 390, the text discusses adding a forward motion to the ball. It refers to adding this motion at this stage as layering animation. This does not mean that you are using layers as you might in a Photoshop image. It just means that you can put another animation in the scene, and the new animation will be incorporated into what the scene already holds.

You have already made the ball bounce up and down. Adding a forward motion in the same time sequence will make both motions happen at the same time. You could make the two motions sequential by having them happen at different times. In this case, you want the ball to bounce as it moves along a path. The most useful thing is that you can add the up and down motion, then add the left to right motion, and you will get the resulting arcing bounce motion without having to calculate the arcs. (You will, however, need to fine tune it. Animation is not totally automatic, else you wouldn't be needed as an animator.)

Project Exercise 6: Moving the ball forward

  1. In the scene, move the time slider to frame 0. Click the Select and Move tool, then click the ball. Right-click the Perspective viewport to select it. If you like, maximize the viewport by pressing Alt-W, so it looks like the illustration at the top of page 391. Move the ball to the left as shown, which will be a change of about -30 on the x-axis.
  2. Move the time slider to frame 100. Turn on Auto Key. Move the ball to the right, about +30 on the x-axis.
  3. Open the Curve Editor. Find and select the x-Position track.
  4. The text informs us that keyframes were automatically created on the x and y Position tracks when you created the up and down motion. Those keyframes were placeholders. Find the keyframes on the x-Position track at frame 10 and frame 20. Select them (click them) and delete them (press your Delete key).
  5. Click our now-familiar friend, the Parameter Curves Out-of-Range Types button. Choose Constant and click OK. Turn off Auto Key. Note the shortcut key for playing the current animation: /. (This is the slash key, not the backslash key.)
  6. Note the shape of the curve in the illustration at the bottom of page 391. The ends (at frames 0 and 100) indicate an ease in and ease out of the endpoints. This is the default tangency at work. You want to change this. Select both keys in the Curve Editor (with a marquee?) and click the Linear Tangent button.
  7. On the scene's timeline, put the time slider at frame 8. Make sure Auto Key is on. Use the Curve Editor (not the Mini Curve Editor) for the next steps. Locate and select the ball's Scale track. (The ball has to be selected first.) Find and click the Add Keys button on the Curve Editor's toolbar. Click a Scale curve

This is a good place to pause and save again. Remember to save your file with a new, incremental name, so you have more than one place to go when you need to go back in time.

On page 392, the text addresses a problem it created back at the beginning of the chapter. The ball should also roll as it bounces. This is another natural movement. The problem in this case is that it can't roll on its pivot point, because we moved the pivot point to the bottom of the ball. We can't move the pivot point back to the center, because we needed it where we put it. So we have to use a modifier that will act like a pivot point: the XForm modifier.

Project Exercise 7: Adding a roll with the XForm modifier

  1. Make sure that Auto Key is turned off. Select the ball. Add an XForm modifier to the ball with the menu command in the text, or with the Modifier List. (You should know both methods exist, and use whichever you like.) Note that the XForm object has two sub-objects: Gizmo and Center.
  2. Expand the XForm item in the modifier stack, and select its Center sub-object.
  3. Click the Align tool, then click the ball. You will see a dialog box. Make sure that all three axes (x, y, and z) are checked. Click the the choice that says Center under Target Object, and click OK.

The text pauses to make it clear that an object can have only one pivot point. You have not added another pivot point, you have just added a center point to the object that it can rotate around. (Reminds me of a theory that The Odyssey wasn't written by Homer, but by a different Greek by the same name...)

So, now that you have the XForm modifier configured, you need to use it.

  1. Turn on Auto Key. Click the Select and Rotate tool.
  2. Click the XForm's Gizmo sub-object. The text reveals that this is necessary to rotate around the XForm center instead of the ball's pivot point (default).
  3. Put the time slider at frame 100 (the last frame). Rotate the ball 360 degrees on its y-axis. (You may want to use the transform type-in box for this.) Click the XForm object to leave sub-object mode, and test the animation.

This section of the text ends with an overview of how to edit any of the keyframes used above. The chapter then discusses the features of the the Track View Curve Editor for several pages, interrupts itself with several pages of color plates, and generally presents no more tutorial material until page 398, where a new project begins.

Project: anticipation and momentum

This project includes a series of exercises to animate a knife thrown at at target. Begin as indicated on page 398, by copying the project file to your hard drive.

Project Exercise 1: Blocking the scene

  1. Open the starting file. Move the time slider to frame 30, and turn on Auto Key.
  2. Move the knife into the target as illustrated at the bottom of page 398. This is the first time you will have seen that objects in 3DS Max can easily penetrate each other. Up to now, you have been guided around that fact. (To keep this from happening, you will learn to make an object impenetrable. Not in this lesson.)
  3. Move the time slider to frame 15 and move the knife higher in the scene, as though it was at the peak of an arc. The text offers no measurement for this, so make a guess about a good z-axis value.
  4. The step shows you how to increase or decrease the number of frames in a scene. Click the Time Configuration button. (It can be seen nested in the animation player control set in the illustration at the bottom of page 82.)
    The text has confused the directions for this step. Once the Time Configuration window is open, find the End Time field and change its value to 30 (not 100). Note that the End Time value will match the Length value (30), and the Frame Count value will be one more (31). Click OK to save this setting. This is a useful technique for lengthening or shortening an animation.
  5. The text asks you to scrub the animation, and to watch for the default ease in and ease out at the ends of the knife's path. This step also provides a plan for the next several steps. Let's assume that we were just told that the knife should start moving at frame 10, not frame 0. To make this correction, open the Curve Editor. Find the x, y and z Position tracks in the Controller window, and use Ctrl-click to select all three of them.
  6. The necessary tracks should now be displayed in the Curve Editor. Drag a marquee selection around the keyframes at frame 0. Change the Select and Move tool on the Curve Editor toolbar to the Horizontal Move tool and use it to move the selected keyframes to frame 10. (Why use the Horizontal Move tool? Because you only want to move those keyframes in time. If you used the regular Move tool, you could have changed their values as well.)
  7. The action in step 6 changed the length of the action. The new middle frame is 20, not 15. Use the method in step 6 to move the keyframes currently at frame 15 to frame 20.

The text introduces another new concept on page 400: trajectories. In 3DS Max, a trajectory is the path an object takes through a scene, made visible. The trajectory of the knife in this scene is illustrated in the images at the bottom of page 400 and 401. To see a trajectory, select the Motion panel, and click Trajectories. Note that the trajectory will not be shown once you select a moving object. Use the procedure on these two pages to experiment with adjusting the vertical rise in the knife's path.

Knives that are thrown for any distance tend to spin. The text continues the lesson by adding a rotation to the knife.

Project Exercise 2: Adding rotation

  1. Move the time slider to frame 30, and select the Select and Rotate tool. The Auto Key feature should still be on. Select the knife and rotate it on its y-axis by 443 degrees.
  2. Open the Curve Editor. Find and select the x, y, and z Rotation tracks. Refer to the exercise above, for the method you should use to move the keyframes at frame 0 to frame 10. Turn off Auto Key when you have done so.
  3. Play the animation as instructed. You still have an ease in and ease out, which are not appropriate here. Why is this a step? You need to learn to look for things to fix or improve. You should always do this as a troubleshooting step.
  4. Several sub-steps here.
    In the Curve Editor, select the x-Position track. Select all the keyframes on that track. Switch the tangency for all those keyframes to Linear.
    Select the z-Position track. Use the handles on the individual keys (that appear when each is selected) to adjust the curve to be more like the reference illustration at the bottom of page 402.
  5. The authors provide more tweaks to the animation in this step and the next. Try them, but be aware that you may not see the improvement that the authors expect in this short animation.

A person who throws a knife tends to move their hand backward before moving it forward. This movement is referred to as anticipation.

Project Exercise 3: Adding anticipation

  1. Move the time slider to frame 0. Open the Curve Editor and select the x-Rotation track for the knife. Click the Add Keys button. Add a keyframe at frame 0. (Note, in the image at the bottom of page 403, the time slider is in the wrong place.)
  2. Select the Move tool as instructed, and click the keyframe at frame 10. In the Editor's Key Stats area, change the value of that key to 240. This will begin the process of animating the knife before the throw.
  3. The tangent at frame 0 is correct. Change the tangent at frame 10 to Linear. Play this animation and try to see why the authors don't like it.
  4. Use the keyboard command to undo your last change: Ctrl-Z. Change the Move tool to the Vertical Move tool. Select the In tangent for keyframe 0. The In tangent is the handle on the left side of a keyframe. (The Out tangent would be the handle on the right side of a keyframe.)
  5. Hold a shift key down as you drag the keyframe's In tangent down to make the curve resemble the one shown at the bottom of page 404.

Note that the authors have given progressively fewer and fewer instructions in these steps. If you have not practiced the earlier exercises, you would not have a clue how to do the later ones. Keep this in mind, and do all the exercises whenever possible. (Except the ones I guide you away from.)

Project Exercise 4: Follow-Through

  1. This next part of the project leads up to a transfer of momentum from the knife to the target that moves the target (rocks it) just a bit. In this exercise, you will add some frames and work on the knife.
    In step 1, open the Time Configuration window again, and change the End Time value to 40. As the text explains, this will add ten frames to the end of the current animation.
  2. Select the knife. Move the time slider to frame 30. Open the Curve Editor. Select the x-Position track for the knife. Add a keyframe using the methods above at frame 35.
  3. The authors ask you to check the value of the new keyframe by looking at the type-in boxes in the Curve Editor. In their case, the value was about -231, and they advise changing it to -224, to sink the knife farther into the target. Take their advice to adjust your values by a similar amount, making sure that the knife is not bouncing out of the target.
  4. Check the animation to make sure the knife is moving as desired.
  5. The authors want to add a bit of follow-through (after the main action) rotation to the knife. Select the x-Rotation track in the Curve Editor. Add a key on this curve at frame 35. Note the change the authors used between their keys at frames 30 and 35, and adjust the value of your key at frame 35 by a similar amount.

Project Exercise 5: Momentum

This last part of the project addresses the transfer of momentum to the target. The target has to move a bit. If you have a feeling for the physics of the situation, you can feel what has to happen. However, what happens if we animate just the target? Not good. We have to animate the target and the knife together, which takes us back to where we started: a hierarchy.

  1. Move the time slider to frame 30. Click the Select and Link tool. Select the knife, and link it to the target. (We do not want them linked in a hierarchy before this frame.)
  2. Move the time slider to frame 34. Turn on Auto Key. Choose the Select and Rotate tool. Rotate the target about 5 degrees back, and be glad that the authors already moved the target's pivot point.
  3. Open the Curve Editor. Select the y-Rotation track for the target. Select the keyframe at frame 0, and move it to frame 30. Next, shift-drag (copy) that keyframe from frame 30 to frame 37.
  4. Change the tangent at frame 0 to Fast.
  5. Select the y-Rotation track for the target again. Use Add Key to add keyframes at frame 40 and frame 44. (This seems like nonsense, since there are only 41 frames in the animation.) Use the Vertical Move tool to set the value of the key at frame 40 to about 1.7.
  6. Choose the Select and Move tool. Move the time slider to frame 37. Move the target "just a bit" on the x-axis. This is to show that the knife not only rocked the target, it pushed it back a little. Open the Curve Editor again, and select the x-Position curve of the target. Next, select the keyframe at frame 0, and move it to frame 30. Change the tangent for frame 30 to Fast.
  7. Save the file incrementally.