Anatomy of a Synfig Animation

From Synfig Studio :: Documentation
Jump to: navigation, search
(Various revisions based on feedback from family members.)
m (What about layers: Intra links)
 
(24 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<!-- TODO: Add an intro paragraph -->
+
<!-- Page info -->
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. Synfig Studio allows us to specify how all of the frames should be drawn without requiring us to manually draw each individual frame. Within Synfig, this animation specification is called a canvas. A canvas specifies when the animation starts and ends, how many frames should be drawn each second (i.e the framerate), the width and height of the frames, which frames we want to most directly control (called keyframes), and most importantly how to draw a frame.
+
{{Title|Anatomy of a Synfig Animation}}
 +
{{Navigation|Category:Manual|Doc:Getting Started}}
 +
[[Category:Manual]]
 +
[[Category:Unverified]]
 +
{{NewTerminology}}
 +
<!-- Page info end -->
  
<!-- Unclear which aspects are user-controlled vs program controlled. Avoid using we? -->
+
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.
All frames in a particular animation are drawn 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.
+
Synfig files are called {{Literal|documents}} or simply animation source files in the wiki. Synfig can use these files to {{Literal|render}} the frames in an animated GIF or a video.
  
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.
+
In each Synfig document there must be at least one canvas, called the root canvas. A canvas is defined by the default width and height of the rendered frames, the default frequency for sampling the contents of the canvas when rendering (the frames per second), the animation duration (start and end times), other parameters, and a stack of layers that are combined on the canvas to render each frame.
  
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.
+
== What about layers ==
  
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.
+
There are two types of layers: {{l|Primitive Layer|Primitive}} and {{l|Filter Layer|Filters}}. Primitives, such as shapes and gradients, produce content based on their own parameters. Filter layers, such as {{l|Blur Layer|Blur}} and {{l|Rotate Layer|Rotate Layers}}, produce content based on their own parameters and on the context of the layer. The context of a layer is the rendered result of the layers that are stacked behind it.
  
To summarize, an animation is controlled by time-varying parameter values which 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. A list of layers with their time-varying parameter values, along with information such as frame size, framerate, and the times of keyframes, specifies an animation. In Synfig, this animation specification is called a canvas.
+
There is one special kind of layer that is called a {{l|Group Layer}}. It is a folder-like layer that uses the rendered result of all the layers in another canvas. The other canvas can be:
 +
* the root canvas of another document,
 +
* an internal separate canvas, called an "exported canvas", that can be used at several different places in the same document,
 +
* an exported canvas in another document, or
 +
* a {{l|Group Layer}} that takes the default definitions (dimensions, frames per second, etc.) inherited from the canvas containing the Group layer
 +
 
 +
All the layers inside the canvas held by a Group Layer, are called Children Layers of the Group Layer.
 +
 
 +
The context of a layer is defined by the canvas where it lives. It is the rendered result of layers that are behind it. If the layer is a child of a Group Layer, its context is the sibling layers (i.e. other children of the same Group Layer) which are behind it.
 +
 
 +
Treated as a layer, a Group Layer is like a "super layer". Its rendered result is based on its context, parameters, and the rendered result of its children.  
 +
 
 +
The layers of a canvas are used for the entire duration of the canvas. In other words, the same layers are used to render all frames. However, each layer can be animated by the animation of its parameters. The animation of a parameter is determined by a list of {{l|Waypoint|Waypoints}} associated with the parameter. Each waypoint defines the value of the parameter value at a certain time. Synfig automatically interpolates parameter values between waypoints.
 +
 
 +
Many types of layers have a parameter called the {{l|Blend Method Parameter}}. The Blend Method defines how a layer is combined with its context. The default Blend Method, {{Literal|Composite}}, effectively places the layer in front of its context, letting the context show through only where the layer is transparent. However, there are other blend methods that do other effects like masks, shading, etc.
 +
 
 +
To summarize, when Synfig renders an animation from a Synfig document it renders each frame using the layers in the root canvas and their interpolated parameter values.

Latest revision as of 16:37, 20 August 2013

Languages Language: 

English


Navigation Navigation:  Manual>>


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.

Synfig files are called "documents" or simply animation source files in the wiki. Synfig can use these files to "render" the frames in an animated GIF or a video.

In each Synfig document there must be at least one canvas, called the root canvas. A canvas is defined by the default width and height of the rendered frames, the default frequency for sampling the contents of the canvas when rendering (the frames per second), the animation duration (start and end times), other parameters, and a stack of layers that are combined on the canvas to render each frame.

What about layers

There are two types of layers: Primitive and Filters. Primitives, such as shapes and gradients, produce content based on their own parameters. Filter layers, such as Blur and Rotate Layers, produce content based on their own parameters and on the context of the layer. The context of a layer is the rendered result of the layers that are stacked behind it.

There is one special kind of layer that is called a Group Layer. It is a folder-like layer that uses the rendered result of all the layers in another canvas. The other canvas can be:

  • the root canvas of another document,
  • an internal separate canvas, called an "exported canvas", that can be used at several different places in the same document,
  • an exported canvas in another document, or
  • a Group Layer that takes the default definitions (dimensions, frames per second, etc.) inherited from the canvas containing the Group layer

All the layers inside the canvas held by a Group Layer, are called Children Layers of the Group Layer.

The context of a layer is defined by the canvas where it lives. It is the rendered result of layers that are behind it. If the layer is a child of a Group Layer, its context is the sibling layers (i.e. other children of the same Group Layer) which are behind it.

Treated as a layer, a Group Layer is like a "super layer". Its rendered result is based on its context, parameters, and the rendered result of its children.

The layers of a canvas are used for the entire duration of the canvas. In other words, the same layers are used to render all frames. However, each layer can be animated by the animation of its parameters. The animation of a parameter is determined by a list of Waypoints associated with the parameter. Each waypoint defines the value of the parameter value at a certain time. Synfig automatically interpolates parameter values between waypoints.

Many types of layers have a parameter called the Blend Method. The Blend Method defines how a layer is combined with its context. The default Blend Method, "Composite", effectively places the layer in front of its context, letting the context show through only where the layer is transparent. However, there are other blend methods that do other effects like masks, shading, etc.

To summarize, when Synfig renders an animation from a Synfig document it renders each frame using the layers in the root canvas and their interpolated parameter values.


Languages Language: 

English