This animation encaptures the principles of Animation: slow in & slow out in the peaks, squash & stretch when the ball performs, the arcs which help visualise the movement, timing and spacing which determines the numbers of frames you are animating on and it differs depending on the spacing and the distribution of the keyframes. Moreover the bouncing ball rhythm can appear in other areas such as character walks (when the character goes up and down as it walks) or when it runs down the stairs. It can be used to test an animator animation skills.
Two famous versions and interpretations of the bouncing ball animation are:
- Preston Blair Bouncing ball, which appears to have more “inner life”.
- Richard Williams Bouncing ball, which compared to the previous one, has an extra pose leading to a more fluid animation.
In order to recreate an “illusion of life”, the Decay (dissipation) of energy & momentum over time are elements to be considered when animation, since the ball will eventually comes to rest on the floor after the several bounces and the consequent lost of energy.
These are the aspects of the bouncing ball decay animation to keep in mind in order to imitate the physics of the real world:
- Decay of height (bounce) – approximately 1/4 to1/5 each bounce.
- Decay of spacing (time) – the frames get less and less each bounce (one less each time).
- Rotation – which is the spin of the ball.
- Squash & stretch (scale) – in each peak it gets less and less.
- Trajectory and reaction angle – contact with the surface it bounces on.
There can be two approaches to this type of animation:
- Uneven bounce (e.g. 9 | 8 frame distance) – typical of a cartoonish approach, looking more alive.
- Even bounce (e.g. 9 | 9 frame distance) – which resembles more real physics, looking more passive.
The Trajectory is a really important element which helps animators flow the Arcs of the movement. Is influenced by the materiality and complexity of the ball and the surroundings. The Materiality refers to the different ball type (material) which leads to a different dissipation and also to different surfaces leading to a different reaction. In other words it deal with the third law of motion: the law of action and reaction.
Here follows a practical example of the Bouncing Ball with Travel animation and its process:
The ball rig:
The question mark groups all the preferences for the ball: the moment of the ball (the cycle that splits it in two), squash and stretch controls (at the top), the “antennas” which add an angle the morph of the ball (at the top), start position control (to add real effect).
The ball bonces with an even bounce approach:
The approach to animation is to work on different levels considering the complexity of the rig which is actually helping the animator making easier to save different keys while animating. Throughout the animation the most important tools to help create it were: timeline (a window into the overall animation of the scene) , graph editor (graphic representation of the animation), and keyframes (keys, a marker used to specify an object’s position and attributes at a given point in time).
The first aspect to consider is the “positioning” of the ball, the different locations where the ball will be throughout the animation (translate y, hight, and z, length), for this reason there should be only the positioning controls: the fist axis to work on is the “y”. Once the keys are saved, in the graphic editor the tangents should be broken to help create nice curves to achieve good arcs. The bounces should be 1/5 less each time it bounces with 1 frame less between peaks each time.
Secondly, the ball is made travel across the scene using the “z” axis: with the help of an editable motion trail the ball now bounces forward. In the graphic editor linear curves have to be created to take away the energy in the ball, otherwise it seems like it is hooping.
After that the squash and stretch controls are switched on again with the angle controls too: the angle should be parallel to z and perpendicular to y when it reacher the peaks in the air and the other way around when it reaches the peaks on the ground: so that only one control is used to squash and stretch the ball. 90 degrees each time are added in the “rotate x” by adding ). The squash and stretch is created and dissipated each time it bounces.
Next step is rotation: the ball rotation when it bounces it should be approximately 180 degrees rotation per each bounce. After in the graphic editor the curve on the graphic is adjusted to create a natural rotation.
Afterwards a slight slide is added at the end of the bounce since it had lost energy, which adds a real factor to the animation.
the last step is to choose a “messy” starting pose for the first frame to add a natural effect.
Final animation:
Challenge 2: Bouncing Ball Obstacle Course
Next task will be to build an obstacle course and animate a bouncing ball navigating its way through it. For this particular animation a “cartoon physics” world inspired the bouncing ball animation dynamic.
I have started with planning the animation by creating a visual process in 2D using Procreate, an app which has an Animation assist option to easily create frames to draw in with options such as choosing the frames per second (24) and picking the onion skin opacity to follow the movement. As showed in the animation below, the ball bounces the first time with much more energy and in the next three bounces the energy decays (following the third law of motion). The last part involves the ball, after the last bounce rolling down toward the semicircle acquiring more energy while rolling to one end but dissipating its energy as the rolling progresses back and force until eventually coming to rest in the middle of the semicircle.
When first saving the keys I have opted for an uneven bounce approach, since that is typical of a cartoonish approach, in which the ball looks more alive. The process I have employed is the following:
I have worked on the movement and positioning of the ball making its way through the obstacle; so I switched off the other control leaving the position control on and saved the keys for both the”y” and “z” axis helping with the motion trail to visualise the movement. Once the main keyframes where positioned and some in-betweens were created, I have worked on the graphic editor curves since the arcs of the movement where not completely defined.
The graphic editor was very useful in this process: following the motion trail I broke the tangents of the “translate y” to create nicer curves and spline the “translate z” in the editor to make a more natural feel to the animation.
After the movement positions where sorted, I edited the angle controls for the squash and stretch controls to so that the angle of the ball followed the arc of the movement. Moreover, when the ball bounces the two controls alternate throughout the animation allowing me to just use one of the to squash the ball. I then used the squash and stretch controls and edit them according to the bounces and the decay of energy of the ball (adjusting the angle too): the first bounce when the ball jump on the surface will be the one with more squash and this energy is going to dissipate over time. Just after the last bounce when it fall over the rotating surface, the ball would loose some energy but acquire a bit more as it roles over the semicircle: so I added a slight squash which get less and less with the rolling of the ball until it stops.
As the ball proceeds into the obstacle it rotates. The next step was the rotation, I first set the first and last keys in the animation where the rotation was zero. After I set a second keyframe when it bounces the first time to use it as frame of reference to locate the last keyframe on the graphic editor. The last step was to add more rotation for the last few frames when the ball roles on the semicircle: it first roles onward, then it reaches the peak, then it roles backward and onward again and so forth until it comes to a rest. (In the first attempt I made for the last rotation animation I made the mistake of inverting the direction of the rolling, but eventually I figured that out and fixed it).
The last part of the process was to check the overall animation and finessing everything. To add a more natural effect I edited the first position of the ball so that the overall movement throughout the animation would result less calculated.
This is the last result:
The first render using playblast.
After I actually polished the motion track since that some cur verve were not exactly smooth with defined arcs.
This is the last rendered video which I first rendered with bach render adding a skydive and direct lightingn and after I merged the output images in a sequence in After effects.