Learn to Animate

Cel Animation

Cel animating, or animating frame by frame is a process where each individual frame is drawn in the animation - not just the major points of transition (called keyframes). Cel animation does not involve the use of automated animation techniques.

The Bouncing Ball

Utilizing the concepts of frame rate, timing, arcs, squash & stretch, volume/scale, and keyframes, create a frame by frame animation of a bouncing ball - or of a similarly boucing object. Place your bouncing ball/object in a location and try to make the ball look like it is actually boucing off of a surface.

  1. Start OpenToonz and utilize the Startup Popup (or use Help → Startup Popup...)
  2. Select "New Project"
  3. Set the set the project location to "Documents"
  4. Give the new project a name and press "Ok" (we will use this as a practice project for a couple animation exercises)
  5. Still in the Startup Popup, create a new scene. While you can make changes to the scene setting, the only thing you need to do is type a scene name
Create a background so that your bouncing ball animation can take place in a specific location. This could be anywhere from inside a spaceship to a kitchen or a park. Make sure there is some sort of rigid object for your ball to bounce off of - like a sidewalk, wall, tree or etc.
  1. Click on the first cell of the Xsheet (or the first cell of the image sequence in the Timeline) and use the Command Bar to create a new Raster level
    1. Give the background a descriptive name
    2. Make sure to set the step to "50" to stretch out the background for 50 frames
  2. In the Level Palette:
    1. Add a new style by right-clicking and choosing "New Style" or by using the new style button at the top of the level palette
    2. With that color selected, in the Style Editor, change to your desired new color
    3. Repeat as necessary to create your color selections
  3. Change the Style Editor to the "Raster" tab - there are a variety of brushes you can use here that only work on raster levels
  4. To add a specific brush to one of your colors, select the color(style) first in the level palette and then click on the brush of your choice in the Style Editor (you can change brushes for a style as many times as you would like)
  5. From the toolbar, use the Brush tool (B) and the Eraser tool (E) to draw your background
    1. In the Tool Option Bar above the Viewer, you can change the size and opacity of the active brush
    2. In the Style Editor under Settings, you can change the settings for the active brush

A keyframe is a point of major transition - often the beginning and ending of an action.

Traditionally, frames inbetween keyframes were called "inbetweens". Modern animating software has abbreviated from inbetweens to "tweens".

In animations where automation is utilized, the keyframes are created by the animator while the tweens are created by the program. In cel animation, both the keyframes and the inbetweens are created by the animator.


The amount of visual space between one image and the next (within a set period of time) creates a sense of speed:

More space between 2 consecutive positions creates the appearance of faster motion
Less space between 2 consecutive positions (in the same amount of time) creates the appearance of slower motion

Changes in Speed

Gradual increases or decreases of the visual space (between consecutive drawings) leads to acceleration or deceleration:

Increasing the distance creates acceleration
Decreasing the distance creates deceleration

The strength of movement and gravity both have an impact on the timing of an animation and can add to believability.

  • A ball dropped from a high place will gradually accelerate due to gravity
  • A ball dropped from a lower height will accellerate less
  • A ball thrown with a lot of force will start out fast and slow down over time
  • The same ball thrown with less force will still slow down but also will be slower overall and travel a smaller distance
  • A bouncing ball gradually slows down as it reaches the apex of it's arc
  • A bouncing ball speeds up as it reaches the bottom of it's arc
Before we begin drawing and animating the ball, create a guide to show where you want the ball placed as it moves through the location. Make sure to take the concepts of timing and force into consideration when planning out your ball positions.
  1. In the first cell of the next empty column/layer (to the right or below), add a new vector level
    1. Give a descriptive name, ie. Bouncing Ball Guide
    2. Set the Step to 1
  2. Right-click on the single cell of this new level
    1. Select "Edit Cell Numbers" → "Time Stretch..."
    2. Set "New Range" to "50"
  3. Use either the brush or the geometric tool (set to arc) to create a path representing the planned movement of your ball
    1. To use the Vector Brush, press the Brush tool in the toolbar (or use B)
      1. In the Tool Option Bar, you may notice the brush has some different settings for vector levels
      2. In the Level Palette, your new vector level will have the 2 default styles (transparent and black) - not the styles/colors you made for the raster level
      3. Raster (MyPaint) brushes do not work for this level type so if a raster brush is active, change the raster brush to none
      4. You can use the "Vector Brushes" in the style editor if you would like
      5. Instead of creating a new style, select the black style and adjust as necessary so that the color will be visible on top of the background - you may want to lower the opacity by adjusting the alpha channel (A) but do not make the style completely transparent
      6. With the brush active, click and drag in the viewer to draw
    2. To use the Geometric Tool, select the Geometric tool (G) then set the shape to arc
  4. Use the control point editor to perfect the placement of the vector shapes if necessary
  5. Use the geometric tool's line segments to plan out the position of your ball along the guide for each frame
Unless an object is rigid like wood or metal, the principle of squash and stretch often applies. Forces acting upon objects often effect the exact shape. If you sit on a cushion, the cushion sinks down a little under the weight of your body. A softer cushion will sink more. A firmer cushion will sink less. Often this can be very subtle but slightly exaggerating the effect in an animation can add realism. Be careful though - too much squash & stretch can look a little too jiggly.

Since this is a bouncy ball, it will squash as the ball hits a surface and stretch as the ball bounces away from that surface.
  1. Create a Toonz Raster Level
    1. Give a descriptive name, ie. Bouncing Ball Guide
    2. Leave the Step set to 1
  2. Draw the ball in it's first position using the standard brush (B)
    1. Leave the color/style set to black for now (you'll notice the new level has it's own palette)
    2. Raster and Vector brushes will not work for this level type - you may need to set the Raster or Vector brush to none
  3. Press the down arrow key to move to the next empty frame
  4. Enable "Onionskin" in order to see the previous frame (Onionskin can also show upcoming frames)
    1. To turn the onionskin on or off in the X-sheet, double-click on the red/green onionskin icon - this can also be activated through right-clicking in the work area
    2. To determine how many frames ahead you can see, click on each frame (in line with the center of the onionskin icon) you would like to see (frames ahead of the active frame display in green)
      1. Each click should create a green circle connected back to the onion icon
      2. To remove a circle, LMB-click again on the green circle
    3. To determine how many frames behind you can see, starting from the icon and moving backwards, click each frame number you would like to see (frames behind the active frame display in red)
      1. Each click should create a red circle connected back to the onion icon
      2. To remove a circle, LMB-click again on the red circle
  5. Make sure you have the 2nd cell for your ball level selected/active in the Xsheet/Timeline then draw your ball in the second position
  6. Use the down arrow to move to the next empty frame and continue the process until you have drawn the ball in each desired position (don't forget to use arcs, squash & stretch and etc.)
  7. After the ball has been drawn in for each spot in the guide, select the entire ball column/layer
    1. Click on the column/layer header - where the name or picture icon is
    2. or click on the left edge of the column/top edge of the layer
    3. Set the step to 2
      1. Click on "2's" in the Xsheet Toolbar/Command Bar
      2. Or right-click on the selected column/layer
The term cel-shading comes from Traditional Animation's celuloid process when colors were painted by hand. To save time on moving objects/characters, instead of creating a full gradient fromlight to dark to show shading, artists would use a limited number of colors. When an object or character has cel shading, traditionally there is a highlight and a shadow color added to the basic fill color.
  1. Create 3 new colors/styles for your ball's Toonz Raster level:
    1. A midtone color (your choice)
    2. A temporary shadow color (typically blue)
    3. A temporary highlight color (typically red)
  2. With the highlight color selected, use the brush to draw the edge of your highlight (with the first cell active)
    1. The highlight may be a separate closed shape that doesn't necessarily touch any other lines
    2. The highlight may be a single line that creates a closed shape with other lines
    3. Repeat for the rest of the frames - use the down arrow key to move down the Xsheet
  3. With both the first cell and the shadow color selected, draw the edge of the ball's shadow for the first frame (make sure this makes a closed shape for the shadow)
  4. Use the paint bucket (F) to fill in the colors for each frame (should be set to "Areas")
    1. Go through each frame and fill the hightlight color
    2. Go through each frame and fill in the shadow color for each frame
    3. Go through each frame and fill in the midtone color for each frame
    4. Trying to fill a shape that is not closed may result in the color filling a larger area than expected
  5. Set the shadow and highlight styles to lighter and darker values of your midtone color
    1. Click on the highlight color in the Level Palette)
    2. In the Style Editor, select the color you want to use for the highlight (as long as Auto-Apply is on, the color should automatically update)
    3. Select the shadow color in the Level Palette and use the Style Editor to change the color
Create a frame by frame animation of a bouncing ball that includes the following:
  • A background/sense of setting
  • Timing (acceleration and/or deceleration)
  • Force (changes in speed due to strength of initial movement and gravity)
  • Arcs
  • Squash & Stretch
  • Cel shading