April 14, 2008

Software animation with Pencil

Author: Nathan Willis

Attention computer animators -- if you've ever felt limited by working in three dimensions with tools like Blender, check out Pencil, an open source, cross-platform animation app that lets you create in glorious 2-D. Pencil mimics hand-drawn animation techniques, but it's easy to use and produces high-quality output.

You can download source code packages as well as pre-built binaries for Ubuntu, Arch Linux, Windows, and Mac OS X. The latest release is 0.4.4b for Macs and Windows boxes, and 0.4.3b for Linux. The differences between the two versions are minor, but include a change to the file format, so if you run Pencil on multiple platforms, you may want to stick with 0.4.3b until the Linux build is updated.


Creating an animation in Pencil is easy. A timeline at the bottom of the screen lets you step through individual frames. You can incorporate multiple layers, each of which can be of either bitmap or vector format. Note that a vector layer in this context means that the layer is drawn with vector curves -- it does not incorporate vector animation as in Adobe Flash or the free Synfig animation studio. In vector animation, you create motion by moving objects between keyframes, and the application calculates and draws all of the intermediate frames.

In keeping with Pencil's goal of recreating traditional hand-drawn animation, you draw on each individual frame as if it were a single animation cell. The interface helps you maintain consistency between frames by "onion skinning" -- rendering adjacent frames semi-transparently, as if drawing on tracing paper. You can test your animation by stepping through the frames, or by running through entire the sequence with built-in playback controls. During playback you can loop the animation, and adjust the frame rate as desired.

The drawing tools are limited to the basics -- pencil, pen, paintbrush, polyline, eraser, fill bucket -- but they are pressure-sensitive if you use a drawing tablet. The tools behave in different ways depending on whether you use them in a raster or vector layer; in vector layers the pencil tool can only be used to draw temporary lines that will not be rendered in the final animation. The reasoning in the documentation is that the pencil can be used to define invisible regions to be filled with the bucket, but that otherwise the pencil's un-smooth lines are out of place in a vector image.

That explanation is sound, but the difference in behavior isn't immediately obvious and could confuse new users -- particularly those without experience in animation. Indeed, Pencil draws on the traditional cartoon animation workflow in many ways that might perplex outsiders. For instance, there is no way to make duplicates of a frame, as you might be tempted to do when you're making only small modifications. In ink-on-paper animation, that is impossible, so it is impossible in Pencil as well. But as lead developer Pascal Naidon explains, the goal of the project is to produce a simple, easy-to-use, and fun program, not to be all things to all animators.

Export and extras

When it comes to producing the final product, Pencil's workflow resembles familiar 3-D animation programs. The canvas is infinite; you can draw at any scale and to any size that you desire much like you can build objects of any size in Blender. In order to export an animation sequence you have to define a camera layer. A camera layer has a specified aspect ratio, but its center can move around the canvas over time. You can even define multiple camera layers and render multiple animation sequences from the same set of frames.

You can export your creation as a sequence of PNG frames or as a Flash video on all three platforms, and also as a QuickTime movie on OS X. The current builds include only rudimentary sound support. You can add audio layers to the timeline, but your choice of supported audio formats is limited and depends on the platform. If the notion of hand-drawing every element on every frame is daunting, you can import raster images into separate layers to serve (for example) as backgrounds.

Looking at the change log for 0.4.4b, we can expect additional drawing tools in future releases. Hopefully more output options and better audio support are on the way as well. Until then, one of the best ways to get more out of Pencil is to visit the user forums, where other animators contribute samples of their own work, screen captures to illuminate the cartooning process, and tutorials to help newcomers master tricks of the trade.

In spite of its limitations, creating animations with Pencil is undeniably fun. Pencil may not have as many features as a vector animation studio like Synfig or Anime Studio Pro, but it provides a unique, hands-on cartooning experience.


  • Reviews
  • Graphics & Multimedia