ITP4709 Game 3D Character Design
Lab 9 – Basic Animation
Content
Bouncing a Ball
1.0 Creating Animation Using Auto Key
1.1 Controlling In-Betweens
1.2 Adding Parameter Curve Out-of-Range Types
1.3 Animating with Dummy Objects
1.4 Using the Dope Sheet Editor
Lab 9 – Basic Animation Page 1 of 30
ITP4709 Game 3D Character Design
Bouncing a Ball
A bouncing ball is a common first project for new animators. This classic example is
an excellent tool for explaining basic animation processes in 3ds Max.
Skill Level: Beginner
Time to complete: 1 hour 45 minutes
Features Covered in This Tutorial
In this tutorial, you will learn how to:
Creating animation using transforms.
Copying keys in the track bar.
Using ghosting to visualize in-betweens.
Using tangent handles in the Function Curve Editor to control in-betweens.
Creating looping animation using Parameter Out-of-Range Types.
Animating using dummy objects.
Using Layout mode.
Applying Multiplier curves.
Working with the Dope Sheet Editor to speed up animation and reverse time.
Using Weighted List controllers.
Creating squash and stretch effects with the Flex modifier.
Animating using Set Key mode.
Tutorial Files
Lab 9 – Basic Animation Page 2 of 30
ITP4709 Game 3D Character Design
All the files necessary for this tutorial are provided on the program disc in the \
tutorials\intro_to_animation directory. Before starting the tutorials, copy the \tutorials
folder from the disc to your local program installation.
Lab 9 – Basic Animation Page 3 of 30
ITP4709 Game 3D Character Design
1.0 Creating Animation Using Auto Key
In this lesson you'll start learning how to animate in 3ds Max.
Animate the ball using the Move transform:
1. Choose File > Open to open bounce_start.max.
The file can be found in the \tutorials\intro_to_animation directory.
Note: The following illustrations display the grid differently than you will see in
your viewports. For ease of use, press G on the keyboard to hide the display of
your grid.
▲Perspective viewport: bounce_start.max
This file has the Perspective viewport on the left. This is not the standard
viewport layout; the layout has been customized for this lesson.
Lab 9 – Basic Animation Page 4 of 30
ITP4709 Game 3D Character Design
2. Click Auto Key to turn on this feature.
The Auto Key button and the time slider background turn red to indicate
that you are in animation mode. The viewport is outlined in red, as well. Now,
when you move, rotate, or scale an object, you create keyframes automatically.
▲Time Slider background turns red
3. Click to select the ball in the Perspective viewport.
It is displayed within white selection brackets, indicating that it’s selected.
Lab 9 – Basic Animation Page 5 of 30
ITP4709 Game 3D Character Design
4. Right-click the sphere and choose Move from the Transform quadrant of the
quad menu.
The Transform gizmo appears in the viewport. The Transform gizmo lets you
easily perform constrained movements. As you move your cursor over the
Transform gizmo, the different axes and their labels turn yellow.
Lab 9 – Basic Animation Page 6 of 30
ITP4709 Game 3D Character Design
5. Position the mouse cursor over the Z axis, and when it turns yellow, click and
drag upward to raise the ball up in the air.
As you move the ball up in the air, notice the Z value changing in the Coordinate
Display below the track bar.
The ball's position at frame 0 is now fixed above the box.
A Position key is created when you do this. The key is displayed on the track bar.
The track bar displays the keys for whatever is selected in the viewport. The
track bar is found directly beneath the time slider and above the prompt area.
▲Keyframe created in Auto Key Mode
Lab 9 – Basic Animation Page 7 of 30
ITP4709 Game 3D Character Design
6. Move the time slider to frame 15.
To move the ball precisely down to the table surface, put your cursor in the
Coordinate display Z field, and change the value to 0.
▲Coordinate Display type-in
for precision animation
The box is built off the world origin, so a Z position value of 0 will set the ball
directly in contact with the box.
Note: The World Origin, (0,0,0) in XYZ coordinates, is shown by the intersection
of the dark lines on the Home grid.
▲Frame 15: Ball is in contact with the box
You need to make the ball rise up to its original position at frame 30. Instead of
moving to frame 30 and moving the ball back up in the air, you'll use an alternate
method.
Tip: You can zero the Z coordinate (or any other spinner) by right-clicking the
spinner arrows.
Lab 9 – Basic Animation Page 8 of 30
ITP4709 Game 3D Character Design
7. Put your mouse over the time slider's frame indicator (the grey box that currently
reads 15/100 and right-click.
The Create Key dialog appears.
8. In the Create Key dialog, change the Source to 0 and the Destination to 30, then
click OK.
This copies the key from frame 0 to frame 30.
9. Click Play Animation to play the animation, or drag the time slider back and
forth between frames 0 and 30.
The ball moves down and up between frames 0 and 30, and stays up in the air
between frames 30 and 100.
10. If you clicked Play Animation, click Stop (the same button) to end the
playback.
Next, you’ll set the length of the active time segment to 30 frames.
11. In the time controls, click Time Configuration.
Lab 9 – Basic Animation Page 9 of 30
ITP4709 Game 3D Character Design
12. In the Time Configuration dialog > Animation group, set End Time to 30. Don’t
click the Re-Scale Time button. Click OK.
3ds Max lets you work in an active time segment that’s a part of a larger
animation. Here you are making frames 0 through 30 the active time segment.
Notice that the time slider now shows only these frames. The other frames still
exist, they just aren't part of the active segment at the moment.
13. Play the animation.
The ball goes up and down. Since the first and last frames are the same, the
animation appears to cycle as it plays.
The ball moves, but it doesn’t have “bounce” yet.
14. Stop the animation playback.
3ds Max made decisions on how the in-betweens are being distributed. Right
now they are evenly distributed so the ball has no acceleration. It doesn’t speed
up or slow down; it just floats along with no sense of weight.
You need to simulate the effect of gravity so that the ball slows to a stop at the
top of its bounce, speeds up as it approaches the table, and then bounces up
again. To accomplish this, you'll use the key interpolation curves available on the
Curve Editor. You'll also use the Ghosting feature to help visualize what the
interpolation curves are doing.
Lab 9 – Basic Animation Page 10 of 30
ITP4709 Game 3D Character Design
1.1 Controlling In-Betweens
To make the ball bounce more convincingly, you'll change the interpolation on the key
at frame 15.
You'll use the tangency handles available in the Curve Editor. The tangency of the
curve will determine the position in space of the in-between frames. Ghosting will let
you see where the in-betweens are being positioned.
Using ghosting to visualize in-betweens:
1. Move the time slider to frame 15.
2. From the Views menu, click Show Ghosting to turn on this feature.
The ghosting feature shows object positions before the current keyframe in an
aqua color.
3. Go to Customize menu > Preferences > Viewports tab, and set Ghosting Frames
to 4 and set Display Nth frame to 3. Click OK to exit the dialog.
The viewport displays the ghosting.
Lab 9 – Basic Animation Page 11 of 30
ITP4709 Game 3D Character Design
▲Ghosting shows the object positions on previous keyframes
4. Play the animation, and then stop.
Lab 9 – Basic Animation Page 12 of 30
ITP4709 Game 3D Character Design
5. Now, to control the in-betweens, right-click the ball in the viewport and choose
Curve Editor.
The Function Curve Editor is displayed across the top two viewports.
The Curve Editor is composed of two windows, a Controller window on the left
that shows the names of tracks, and a Keys window on the right that shows keys
and curves.
6. In the Controller window on the left, click to select only the Z position track.
Note: If you don't see the Z Position track, click the plus icon to the left of the
Sphere to expand the Sphere’s tracks. If you don’t see a plus icon, right-click and
choose Manual Navigation, then hold down ALT and right-click, then choose
Expand from the quad menu.
Note: There are a lot of possible configurations in the Curve Editor, so you may
encounter variations from the standard.
Now the only curve displayed in the Keys window is the one you want to work
on.
▲Function curve for bouncing ball Z position
7. Move the Track View time slider (the double aqua line in the Key window).
As you move back and forth the animation plays in the viewport.
If you look carefully you'll see a dark dot on the curve at frame 15.
8. Drag around the dark dot (the position key) to select it.
The selected key turns white on the curve.
To manipulate the curve you need to change the tangency type so you have
access to tangency handles.
9. On the Track View toolbar, click Set Tangents To Custom.
If you look carefully you'll see a pair of black tangency handles have appeared
on the curve.
Lab 9 – Basic Animation Page 13 of 30
ITP4709 Game 3D Character Design
10. Hold down the SHIFT key and drag the left handle on the left upwards in the
Key window. The SHIFT key allows you to manipulate the left handle
independently from the right.
The curve now looks like this:
▲SHIFT key allows for manipulation of individual handles
You'll change one more setting to make this tool more useful.
Using Interactive Update:
1. On the Track View Settings menu turn on Interactive Update. Now move the
time slider to frame 15, then manipulate the tangency handle while observing the
effect in the ghosting. You can clearly see the changes as you work.
2. Set the tangency handle so the in-betweens are mostly drawn toward the raised
position (see the illustration that follows). With interactive update on you can do
this with very fine control.
▲Interactive update and ghosting
Lab 9 – Basic Animation Page 14 of 30
ITP4709 Game 3D Character Design
3. Move the time slider to frame 30, then adjust the right tangency handle so it
approximately matches the left one.
By manipulating this handle you can get different effects. The upward movement
of the ball as it bounces off the table will determine the perception of the weight
of the ball. The ball will appear to be bouncy, like a tennis ball, if the two handles
are similar. The ball will appear to hang in space if enough of the in-betweens are
drawn close to the topmost position.
4. Turn off Views > Show Ghosting and then mation.
Concentrate on the movement of the ball. Adjust the curve handles some more
while the animation plays. Observe the effect.
The ball leaves the table as quickly as it hit it, then begins to slow down as it
rises.
5. Play the animation, and then stop.
The ball has bounce now. It looks like there is gravity at work here.
When you see something you like in the viewport, it's a reminder that you should
save your work. It's easy to forget while you're being creative.
6. Save your work as mybounce.max.
You've made the ball bounce once. In the next section you'll learn to repeat the
bouncing of the ball using Out-of-Range types in Track View.
Lab 9 – Basic Animation Page 15 of 30
ITP4709 Game 3D Character Design
1.2 Adding Parameter Curve Out-of-Range Types
You can repeat a series of keys over and over in a variety of ways, without having to
make copies of them and position them along the time line. In this lesson, you’ll add
Parameter Curve Out-Of-Range Types to the ball’s position keys. Out-Of-Range
Types let you choose how you want the animation to repeat beyond the range of the
current keys. They have the advantage that when you make changes to the one set of
keys, the changes are reflected throughout the animation.
Most of the tools in Track View are available both from menu choices and from
toolbars. This feature is also on the Controllers menu.
Repeat keyframed motion:
1. Continue from the previous lesson, or open bounce_repeat.max. This is a
3ds Max scene with the ball bouncing once.
2. If the Curve Editor isn't displayed already, select the ball in the viewport, right-
click, and choose Curve Editor from the quad menu.
3. In the Controller window, make sure that only the Z Position track is selected.
Before you repeat the keyframes, you'll extend the length of the animation.
4. Click Time Configuration. This button is beneath the Go To End button in
the animation playback controls at the bottom-right corner of the interface (not
Track View).
5. Change the Animation End Time to 120.
This adds 90 blank frames onto the existing 30 frames. It doesn't stretch the 30
frames over 120. The ball will still be bouncing once between frames 0 and 30.
Lab 9 – Basic Animation Page 16 of 30
ITP4709 Game 3D Character Design
6. Now, back in Track View, click the Parameter Curve Out-Of-Range Types
button on the toolbar.
▲Parameter curve out-of-range type choices
7. Click both boxes under the Cycle graph to choose Cycle for In and Out. Click
OK.
8. Click Frame Horizontal Extents on the Navigation: Track View toolbar at
the lower right corner of the Track View window.
The Keys window zooms back so the entire time segment is visible. The
Parameter Out-of-Range curves are displayed as dotted lines.
Lab 9 – Basic Animation Page 17 of 30
ITP4709 Game 3D Character Design
▲Parameter Out-of-Range curve
There are no keys beyond frame 30. Any change made to the original keys will
be reflected in the looping.
Tip: You can create keys for the out-of-range curves by choosing Utilities >
Track View Utilities > Create Out of Range Keys.
9. Play the animation.
The ball bounces over and over.
10. Save your work as mybounce_repeat.max.
Next, you will learn to link the ball to a dummy object and then use the dummy
to animate the position of the ball. This allows you to keep the bouncing
independent from the position, and makes it easier to control the animation.
Lab 9 – Basic Animation Page 18 of 30
ITP4709 Game 3D Character Design
1.3 Animating with Dummy Objects
In this lesson, you will link the bouncing ball to a helper object. Then you can animate
the helper so that the ball bounces across the top of some text. This animation
technique is useful because you can control the ball’s bouncing and its traveling
motion independently.
Set up the lesson:
1. On the File menu choose Open.
2. Navigate to the \tutorials\intro_to_animation directory on your hard disk and
open bounce_dummy.max.
This file is similar to the bouncing ball created in the last lesson. The only
difference is that it has a text object prepared for you in the scene and it has a
longer active time segment.
Tip: If you want to keep using your own bouncing ball, you can merge the text
object in from the bounce_dummy.max file using File > Merge. Or create your
own.
3. If you didn't open bounce_dummy.max., you'll need to extend the active time
segment to 240 frames. Click the Time Configuration button and then in the
Animation group change End Time to 240.
Create a dummy object:
1. Go to frame 0, if you're not there already.
2. Right-click the Top viewport to activate it, then zoom in on the ball and the box.
3. On the Create panel, click the helpers button, then on the Object Type
rollout click Dummy.
4. In the Top viewport, move the cursor over the ball.
Tip: Move the Layers and Extras toolbars away from the Top viewport
5. Press the mouse button and drag outwards to create a dummy object.
▲Make the dummy in the Top viewport
Lab 9 – Basic Animation Page 19 of 30
ITP4709 Game 3D Character Design
If you look in the Front viewport, you'll see that while the ball is up in the air, the
dummy is positioned at the same level as the box.
▲Dummy created below the ball
Next you will align the dummy so that it is centered over the sphere when
viewed from the top.
6. On the toolbar, click Align. Then in the Top viewport, click the Sphere.
The Align Selection dialog is displayed.
7. On the Align Selection dialog, turn on X Position and Y Position, but leave Z
turned off. Click OK.
You'll see the dummy shift position so it is aligned to the sphere.
Next, you'll align the dummy's pivot point with its base, and you will position the
dummy so that it sits on top of the box. The idea is to set up the dummy so that
its pivot point will match where the ball bounces. Then placing the dummy on
any frame in time will ensure the correct alignment.
8. Select the dummy object, and go to the Hierarchy panel.
Instead of moving the pivot, you will move the object using Affect Object Only.
This moves the object but leaves the pivot unmoved.
Lab 9 – Basic Animation Page 20 of 30
ITP4709 Game 3D Character Design
9. On the Adjust Pivot rollout, click Affect Object Only to turn it on.
The pivot icon is displayed in the viewport.
▲Pivot point tripod display
Now you can move the object to change its relationship with the pivot point.
10. Turn on Select And Move, and raise the dummy cube so its base is level
with the pivot tripod. Use the Transform gizmo so the dummy only moves up.
You don’t want to move in any other axis, since the dummy is already centered
properly in the other axes.
Tip: You can increase the size of the transform gizmo by pressing the = key
repeatedly until the gizmo is the size you want.
▲Equals key used to grow the transform gizmo
11. Turn off Affect Object Only.
Now you will link the ball to the dummy. The dummy will become the parent to
the bouncing ball.
Lab 9 – Basic Animation Page 21 of 30
ITP4709 Game 3D Character Design
Link the ball to the dummy:
1. In the Front viewport, zoom in so you can see the dummy and the ball.
2. On the main toolbar, turn on Select And Link.
3. Move the cursor over the ball, then press and hold the mouse button.
The cursor changes to two interlinked boxes.
4. Move the mouse to the dummy. A rubber-band line follows the cursor. When the
cursor passes over the dummy, it changes again. One box is white, showing you
this object (the dummy) will be the parent of the first object (the ball). When the
cursor has changed, release the mouse button.
▲Link the ball to the dummy
You just linked the ball to the dummy.
You can also create linkages in Schematic View. For something this simple, it’s
easier to link directly in the viewport.
When you've created a linkage, it's a good idea to test it out to make sure you did
what you think you did.
Verify that you've created the hierarchy:
1. On the toolbar, turn on Select Object.
2. Press H to select by object name.
3. On the Select Objects dialog, turn on Display Subtree, it is isn't already on.
The Sphere01 object should appear indented below Dummy01 in the list.
4. Click Cancel to exit the Select Objects dialog.
Lab 9 – Basic Animation Page 22 of 30
ITP4709 Game 3D Character Design
5. You can also test a linkage by transforming the parent object. Rotating the
dummy in the viewport will affect he ball as well. If you do this, then undo the
transform once you've tested your linkage.
▲Testing the linkage
Now you're ready to animate the dummy. You'll use simple Auto Key animation
first, just so you can understand the process.
Animate the dummy:
1. Grab the divider lines between the viewports and drag them so the perspective
viewport is wide screen.
2. Turn on Auto Key
3. On the main toolbar, turn on Select And Move.
4. At frame 0, move the dummy so it is to the left of the box in the Perspective
viewport.
▲Dummy at frame 0
Lab 9 – Basic Animation Page 23 of 30
ITP4709 Game 3D Character Design
5. Use the time slider to move to frame 15, or type 15 in the Go
To Frame field.
6. Move the dummy using the Transform gizmo so the ball is touching the box.
▲Dummy at frame 15
You just set two keys for the dummy, one at the start location at frame 0 and a
second at frame 15.
7. Go to frame 30 and move the dummy again to the right of the box, so the ball
continues to bounce away, rather than straight up in the air.
▲Dummy at frame 30
You've now set a third key at frame 30. If you play the animation, you'll see the
ball bounce off the box as if it had been tossed.
You can display the trajectory of the ball to help visualize the animation. Here's
how.
Lab 9 – Basic Animation Page 24 of 30
ITP4709 Game 3D Character Design
8. On the main toolbar, turn on Select Object.
You can use any transform tool for this, but using Select Object ensures you don't
accidentally transform the object.
9. Select the ball, and then right-click it.
10. Choose Properties from the quad menu.
11. In the Object Properties dialog, in the Display Properties group, turn on
Trajectory.
▲Trajectory display for the ball
12. Play the animation.
You see the ball bouncing onto the box and off, following the trajectory.
Try Layout mode:
If you turn off Auto Key and move the dummy, you will be moving the entire
animation in space. When both Auto Key and Set Key are off, you are working in
what is known as Layout mode. Here you will use Layout mode, so that instead of the
ball bouncing on the block, the ball bounces off the letter F.
1. Turn off Auto Key Mode.
The red disappears in the time slider background and viewport outline.
2. Move the dummy object back toward the text.
Lab 9 – Basic Animation Page 25 of 30
ITP4709 Game 3D Character Design
3. Watch the position of the trajectory and move the dummy until the bounce point
of the trajectory intersects the top of the letter F.
▲Layout Mode lets you move the animation in space
Bounce the ball on the letters:
Now you'll repeat what you've learned to create the ball bouncing on the letters.
The ball bounces 8 times, making contact with the letters at frames 15, 45, 75, 105,
135, 165, 195, and 220.
1. Turn on Auto Key.
2. In the track bar, select the key at frame 30 and delete it.
3. Move the time slider to frame 45 (or enter 45 in the Current Frame field).
4. Position the dummy so the ball bounces on the double L's in the word “Follow”.
5. Move the time slider, then the dummy so the ball bounces on the following
letters at these frames.
F at frame 15
ll at frame 45
w at frame 75
th at frame 105
b at frame 135
u at frame 165
c at frame 195
ba at frame 225
Lab 9 – Basic Animation Page 26 of 30
ITP4709 Game 3D Character Design
6. At frame 240, move the dummy so the ball move away from the letters.
7. Play the animation and observe the results.
8. Save your work as mybounce_text.max. If you had any trouble, you can open
the file bounce_text.max to see the correct animation so far.
Next you will learn to use a multiplier curve to affect the height of the bouncing
ball.
Add a multiplier curve:
1. Select the ball in the viewport, right-click and choose Curve Editor.
The Curve Editor window is displayed, if it wasn't already visible.
2. In the Controller window, click the Z Position track.
3. On the Curves menu, choose Apply Multiplier Curve. In the Controller window,
click the plus icon. Click the Multiplier Curve to highlight it, then hold down the
CTRL and click the Z Position track. This way you have only these two curves
displayed.
In the Controller window, the Multiplier curve is added beneath the Z position
track. It's not very noticeable in the Keys window on the right.
The scaling of the multiplier track is quite small, so the slightest change to a key
could result in a large change in the animation. You can counteract this by
zooming in on the multiplier track.
4. On the Navigation: Track View toolbar (at the lower right of the Keys
window), click the Zoom Region button. Drag a zoom region window around the
key at frame 240 on the multiplier track.
5. On the Settings menu, turn on Interactive Update.
6. On the Track View toolbar click Move Keys to turn it on, then move the
multiplier key downward, while observing the effect on the trajectory in the
Perspective viewport.
▲Lowering the multiplier curve shows effect
on Z position curve in Keys window
Don't move it below the horizontal zero value, or you will get some strange
effects.
Lab 9 – Basic Animation Page 27 of 30
ITP4709 Game 3D Character Design
▲Multiplier curve shown on trajectory
Tip: You can type in precision values on the Key Stats: Track View toolbar.
While working with Multiplier curves, if you're not sure you like the results, you
can just turn them off. Select the Multiplier curve in the Controller window, then
on the Curves menu choose On/Off.
7. Click Zoom Horizontal Extents on in the Navigation toolbar to see the entire
curve again.
Lab 9 – Basic Animation Page 28 of 30
ITP4709 Game 3D Character Design
1.4 Using the Dope Sheet Editor
Track View also has a mode called Dope Sheet, which lets you work with keys and
ranges. In this lesson, you'll use the range function to make your animation go faster.
You'll also use the Time tools to reverse your animation.
Speed up the animation:
The bouncing ball doesn't have enough pep. To speed up the animation, you'll use Edit
Ranges in Dope Sheet mode.
1. Continue from before or open bounce_multiplied.max.
2. Select the dummy object in the viewport. Then, on the Graph Editors menu,
choose Track View — Dope Sheet.
3. On the Keys: Dope Sheet toolbar, click Edit Ranges. By default, the Keys:
Dope Sheet toolbar is on the top left.
The Keys window now displays the ranges for the animation.
4. In the Controller window, highlight the item label Dummy01. This way you will
adjust the ranges of all the dummy’s tracks at the same time.
Before making changes to the dummy, you want to make sure you also are
making changes to the bouncing ball as well. Since the bouncing ball is the child
of the dummy, you'll use the Modify Child Keys button.
5. On the Display: Dope Sheet toolbar, click Modify Child Keys to turn it on.
Now the changes you make to the dummy range will also be applied to the
bouncing ball.
6. Click the end of the Dummy range and drag it to the left to around frame 100.
▲Range bars used to speed up the animation
This compresses the animation for the dummy and the bouncing ball so it
happens within 100 frames.
Tip: You can raise the time ruler up from the bottom of the Keys window for
greater precision.
Lab 9 – Basic Animation Page 29 of 30
ITP4709 Game 3D Character Design
7. Play the animation.
The animation plays faster. The ball continues bouncing at the end of the
animation. There are several different ways you could correct this. You could try
to use an ease curve to stop the animation, or create keys from the out-of-range
curve, and then delete the keys. Or you can set the active time segment to 100
frames.
8. Click the Time Configuration button beneath the animation playback
controls.
9. Change the Animation End time to 100.
Reverse time:
You can reverse the animation by using the Time tools available in Dope Sheet mode.
It's easy to do.
1. On the Keys Dope Sheet toolbar, click Edit Keys.
The range bars are replaced with keys.
2. On the Time menu, choose Select.
When working with Time commands, you first select the time, then make
changes to it.
3. In the Keys window, on the Dummy track, drag from frame 0 to frame 100 to
select the time.
The time is displayed as a light yellow band in the Dummy track.
▲Time displayed as light yellow band
4. On the Time menu, choose Reverse.
The animation plays backwards. The ball bounces from right to left instead of
left to right, and the last bounce now happens on the letter F instead of the double
L in ball.
Tip: You can easily reverse the playback of an animation using controls found in
the Time Configuration menu. But if you need to actually reverse the keys, this is
the technique to use.
Lab 9 – Basic Animation Page 30 of 30