Animation Tutorials > Animating with Auto Key: Bouncing Balls > Bouncing a Ball >
Add Squash and Stretch

Squash and Stretch enhances the effect of animation.

Objects deform as they move or collide. In the real world this effect is sometimes obvious (think of a soap bubble) and sometimes subtle. In animation, it pays to exaggerate this effect: The exaggeration might go beyond realism, but it reinforces the illusion of realism when we watch the animation. This effect is known as “squash and stretch.”

It is worth looking again at the diagram of a bouncing ball:

The ball should stretch as it falls, squash when it collides with the floor, and then stretch again as it rebounds.

The Stretch modifier in 3ds Max Design provides a convenient way to animate squash and stretch.

Set up the scene:

- Continue from the previous lesson or open bouncing_ball_03.max.

Apply a Stretch modifier to the basketball:

1. Select the basketball if it is not already selected.
2. Go to the Modify panel. From the Modifier List, choose Stretch.
   TipWhile the Modifier List is open, you can press the S key multiple times to find modifiers whose name begins with “S.”
3. On the Parameters rollout for the Stretch modifier, change the value of Amplify to –30.

   Positive amplification tends to squeeze an object in the middle as it stretches, while negative amplification makes the middle of the object fatter, which is the effect we’re looking for.

   We also want the basketball to stretch along its local Z-axis: As it happens, that is already the default.

Animate stretching and squashing:

1. Turn on (Auto Key).
2. Drag the time slider to frame 6.
3. On the Parameters rollout for the Stretch modifier, change the Stretch value to 0.1.

   The Stretch field’s spinner arrows now show red brackets, indicating that 3ds Max Design has created an animation key for this parameter. In the viewports, you can see that the basketball is elongated along its direction of travel.

4. Drag the time slider to frame 15, where the basketball collides with the floor.
5. On the Parameters rollout for the Stretch modifier, change the Stretch value to –0.2.

   This squashes the basketball at the point of impact. Incidentally, it also corrects the way the basketball used to sink into the floor.

6. Drag the time slider to frame 30, and change the Stretch value back to 0.0.
   TipJust right-click the spinner arrows to set the value back to zero. In 3ds Max Design, this is a standard shortcut for setting a numeric field to its minimum nonnegative value.
7. Turn off (Auto Key).
8. You need to “bracket” the squash so it doesn’t begin before impact, and goes away when the ball rebounds.

   Shift+copy the key at frame 6 to the following frames:

   - Frame 14
   - Frame 16
   - Frame 24

Repeat the stretch and squash:

1. In the Curve Editor controller window, locate the track for the Stretch parameter.

   The hierarchy looks like Basketball Modified Object Stretch Stretch : Bezier Float. You have to scroll down to get past several position, rotation, and scale tracks that you arent using in this exercise.

2. On the Track View - Curve Editor toolbar, click (Parameter Curve Out-Of-Range Types).
3. In the Param Curve Out-Of-Range Types dialog, click the outgoing button for the Cycle option, and then click OK.

   Now the squash and stretch pattern repeats indefinitely.

Play the animation:

- Click (Play) to play the animation.

  Animation controls, including playback controls, are in the lower-right corner of the 3ds Max Design window, just to the left of the viewport navigation controls.

  Click (Stop) when you are done. (This is the same button as the Play button, while playback is active.)

This completes the animation of bouncing a basketball.

Save your work:

- Save the scene as my_bouncing_basketball_completed.max.

  To see a completed version of the basketball animation, you can open bouncing_ball_completed.max.

Next

Different Types of Balls: Mass, Elasticity, and Friction