Anatomy of a Synfig Animation
This page is still in draft form and might contain significant errors.
Before attempting to use Synfig Studio to create an animation, it is worthwhile to get a basic understanding of what a Synfig animation is, the names of its various parts, and how the parts fit together. This page attempts to provide that knowledge. It is quite possible to learn to use Synfig Studio effectively without reading this page, but the information here will hopefully prevent confusion or incorrect assumptions, especially concerning the meanings of terms like canvas and layer.
A Synfig canvas is a flip book with drawing instructions
An animation is a sequence of images or "frames" that are displayed to the viewer in quick succession to create the illusion of smooth motion. One way to create such an animation is to draw each frame on a separate page of a book called a flip book. A viewer can see the animation by flipping through the pages of the flip book quickly.
Of course, manually drawing all of the pages in a flip book takes a long time. What we'd really prefer is to simply describe how to draw the pages and have them all drawn automatically based on our instructions. Synfig Studio allows us to do that. In Synfig, the flip book with drawing instructions is called a canvas.
In real life, the term "canvas" normally refers to a single flat surface. It is important to remember that in Synfig, the canvas is not just one page in the flip book -- it is the entire flip book. And the flip book has drawing instructions for Synfig to follow.
Within this manual the term "canvas" is also used to refer to the window where most editing occurs. The canvas window only shows one page from the flip book at a time. Unfortunately, that can reinforce the wrong idea of the canvas being only one page. However, the canvas window also has a timeline at the bottom. Clicking on different times in the timeline shows different pages in the flip book. So the canvas window really does allow us to see all the pages in the flip book, just not at the same time.
Moreover, when we draw or edit in the canvas window, we aren't only changing the page that is currently displayed. Our changes can also affect other pages. For example, if we draw a circle on a page, it is automatically drawn on all the other pages as well.
Synfig draws frames according to instructions called layers
Synfig draws all frames in a particular animation according to the same list of instructions. Each instruction is called a layer. A frame starts as a transparent image and each layer changes the frame's image in some way. A layer might add a shape to the image, rotate or blur the entire image, or even combine it with a frame from some other animation. How the image is changed by a layer is controlled by the values of the layer's parameters. Each type of layer has its own set of parameters. Layers which draw shapes have parameters such as the center and radius of a circle or the list of points that a curve goes through. A layer which rotates the image has a parameter for the angle of rotation. A layer which blurs the image has a parameter for the amount to blur it.
Many types of layers modify the existing image by first creating a new separate image. This new image is then combined with the existing image to create the modified image through a process called blending. The blend method parameter value controls how each pixel in the existing image will be changed based on the color and transparency of that pixel and the pixel at the same location in the new image. There are many blend methods to choose from but the default is the composite blend method. It effectively places the new image on top of the existing image, letting the existing image show through only where the new image is transparent. The amount parameter value controls the amount of blending to do. For example, when using the composite blend method the amount parameter value controls how much the existing image should show through the new image.
One of the most powerful types of layers, the Pasted Canvas or Inline Canvas layer, creates a frame from another animation and blends it with the existing image in the current animation. There are parameters for which animation specification (i.e. canvas) to use and how to determine which frame to draw. Since each canvas has its own list of layers, these kinds of layers can be used to build more complex animations from simpler ones.
Synfig determines parameter values using waypoints, interpolation, or other parameter values
When drawing a particular frame, Synfig needs to determine the values of all of the parameters for all of the layers at the frame's time within the animation. If we want we can set the value directly for a particular frame. This establishes a waypoint for the value at that frame's time. The waypoint ensures that the parameter will have the specified value at the specified time. Of course, directly specifying the value for each frame is not practical. To avoid this, we can let Synfig interpolate the value based on the surrounding waypoints. There are a variety of interpolation methods from which to choose. The default interpolation method causes the parameter value to pass smoothly through the waypoints.
Parameter values can also be specified in more advanced ways. We can indicate that a parameter value should always be the same as some other parameter value. The most common example of this occurs automatically when drawing a shape with the Draw tool. Drawing a single shape can create two layers, an outline layer which draws the outline of the shape and a region layer which fills the interior of the shape. The points which the outline of the shape goes through are parameters of both layers and they are normally linked to each other so that changing one will also change the other. Other values can be shared between parameters in a similar way through a process called Exporting and Connecting. In more advanced scenarios, a parameter can be one of many types of computed parameters. Computed parameters calculate their values based on one or more other parameter values.
To summarize, a list of layers with their time-varying parameter values, are the drawing instructions that taken together with a flip book containing some number of pages make up a canvas. The time-varying parameter values are interpolated between waypoints or computed from other parameter values. The values of the parameters for a particular frame determine the ways that the layers create the image for that frame, one step at a time. There are many kinds of layers, including layers that draw shapes on the image, rotate the image, or blur the image, and parameter values control things like the position and colors of shapes, and the amount an image is rotated or blurred. There are also layers called Inline Canvas or Pasted Canvas layers which can create a frame in a different animation and blend that frame into the the current frame. These layers allow simple animations to be combined into very complex ones.