The “bouncing ball” exercise has been used to teach the basic principles of animations for decades – wether it be traditional 2D animation, stop motion or 3D animation. It’s a great way of demonstrating the “squash and stretch” principle, but it also addresses “exaggeration”, “arcs” and “timing”.
You can watch the finished example below and download the .fla file here:
The first step is to sketch the “timing” and “spacing” you want your ball to take. We’ll also apply the “squash & stretch” principle:
- Timing: Where and how many times does the ball hit the ground?
- Spacing: How close/far apart is one frame from the previous and next one? Frames should overlap when at slow sections of the arc, and be spaced further apart when the motion accelerates.
- Squash & stretch: The ball elongates as it falls, flattens when it hits the ground and returns to its normal shape in the slower parts of the arc. Don’t forget that the volume (how much water it could hypothetically hold) should remain the same, no matter how distorted the ball is.
The weight and material of the ball should be taken into account. For this first exercise, we’ll work on creating a convincing rubber ball one might find at a playground.
Now that we have a clear goal in mind, let’s translate this sketch into an animation with Adobe Animate.
Create a new project
Launch Adobe Animate and create a new document with the following settings:
- Width: 1920px | Height: 1080px
- Ruler units: Pixels
- 24 fps (frames per second)
- Background color: White
Save and name your document by going to File > Save As…
Defining the ground
Let’s first define the ground our ball is going to hit:
- Double click on the name of the default layer in your Timeline and name it “ground”
- Select the line tool, set the Stroke to the color of your choice and click and drag from the left to right side of the stage (around 3/4 down the height). You can change the weight, style and color of the stroke by selecting it and changing the Fill and Strokeoptions in the Properties window.
- Lock the layer
Creating the ball
Now let’s create the ball itself:
- Create a new layer in the Timeline and name it “ball”
- Select the ellipse tool set its Stroke to None, and its Fill to the color of your choice.
- Hold Shiftand click and drag to create your ball (anywhere on the stage will do for now).
- In order to use tweens on this object, it needs to be a symbol. Right-click on the ball and select Convert to Symbol. Name it “ball” and set its type to Movie Clipand its registration to the center anchor point.
Extending the Timeline
Currently, both the ball and ground layers only have 1 frame. Let’s add the frames I’ll need for my ball bounce (i.e: 80 frames):
- Select and right-click on frame 80 of both layers and select Insert Frame
Creating the Tween
We will use a regular Motion Tween to animate our ball.
- Right-click on the ball and select Create Motion Tween. Notice that the ball layer in the Timeline is now highlighted blue. Any changes in position, shape etc. will be registered as a Tween.
We want the first bounce to happen about 15 frames into the animation, the second one 30 frames later, and for the ball to stop on the ground after another 30 frames.
- Go to frame 1 and position your ball where you want it to start (i.e: top-right of the screen)
- Go to frame 15 and move the ball where you want the first bounce to happen. Make sure its bottom touches the ground.
- On frame 30, place the ball at the peak of the first arc.
- Go to frame 45 and move the ball where you want the second bounce to happen. Make sure its bottom touches the ground.
- On frame 60, place the ball at the peak of the second arc.
- Go to frame 75 and move the ball where you want it to stop.
- Notice that a linear path has been created on the stage and that keyframes have been created automatically in the Timeline each time you moved the ball.
Creating arcs
Let’s turn our linear path into arcs:
- Activate the selection tool, place your cursor next to the path until you see the little arc next to the arrow and click and drag to change the shape of the path.
- You may also change the path’s anchor point with the Direct Selection tool.
Squash & stretch
Now that the motion of our ball is in place, we want to “squash & stretch” it. Right now, the Keyframes I created are only keeping track of the ball’s location (you can check this by right clicking on a Keyframe and selecting Refine Keyframe). If I change the shape of the ball, it will remain distorted for the rest of the animation – which won’t work since it needs to get back to its original shape after each bounce. To make sure each Keyframe I have retains the current shape of the ball we’ll use Keyframe > All:
- Go to the first Keyframe (15) in your Timeline, right click and select Insert Keyframe > All.
- Repeat for all current Keyframes as well as for each frame before and after each bounce (13, 15, 17, 30, 43, 45, 47, 60, 73, 75, 77).
- Now, if you go to Refine Keyframe, you’ll see different graphs for several properties, including Scale.
Let’s stretch the ball two frames before the first bounce:
- Go to frame 13, select the Free Transform tool (Q) and stretch the ball (make it taller and narrower).
Now let’s squash the ball when it hits the ground
- Go to frame 15, select the Free Transform tool (Q) and squash the ball (make it flatter and longer). Make sure you adjust the position of the ball so that it touches the ground.
Repeat the squash and stretch before, during and after each bounce (frames 13, 15, 17, 43, 45, 47, 73, 75, 77)
You can also rotate each stretch in the direction of the arc.
Adjusting the spacing and timing
You can always adjust the timing and spacing of your animation by moving existing keyframes along the timeline and/or creating new ones.
Let’s try to get our spacing closer to the one we defined in our sketch (slower at the top of the arc).
- Right-click on the Keyframe right before the top of the first arc and select Insert Keyframe > All
- Move it back a few frame (from 29 to 26)
- Right-click on the Keyframe right after the top of the first arc and select Insert Keyframe > All
- Move it forward a few frame (from 31 to 34)
- Repeat for the top of each arc.
- Notice that this adds a number of anchor points each time.