Cómo lo hago...

From Synfig Studio :: Documentation
Jump to: navigation, search
(Rendering through a .png sequence.)
 
(2 intermediate revisions by one other user not shown)
Line 87: Line 87:
 
* Usamos la herramienta de dibujo, seleccionamos el único borde a rellenar, dibujamos un trazo siguiendo el borde y nos aseguramos de mantener la tecla Control cuando soltamos el botón izquierdo del ratón al final del trazo. Esto no funciona al 100% en estos momentos.
 
* Usamos la herramienta de dibujo, seleccionamos el único borde a rellenar, dibujamos un trazo siguiendo el borde y nos aseguramos de mantener la tecla Control cuando soltamos el botón izquierdo del ratón al final del trazo. Esto no funciona al 100% en estos momentos.
  
== Dock windows together? ==
+
== ¿Cómo acoplar todas las ventanas juntas? ==
  
*To dock (join) separate windows into one you must drag the tab ''icons'' for each of the tools into another window.  
+
*Para acoplar (unir) las ventanas separadas en una sola debemos arrastrar la pestaña ''iconos'' para cada una de las herramientas en otra ventana.  
*You can create subdivisions inside the windows by dragging the icons into the side tabs (located around the edges, the look like rectangles).  
+
*Podemos crear subdivisiones dentro de una ventana arrastrando los iconos en las pestañas laterales (que están en los bordes, parecen como rectángulos).
*Tool tabs inside the window can be arranged by dragging them on top of one another, therefore changing the order.
+
*Las pestañas de Herramientas dentro de la ventana puede ser reordenada arrastrándolas dentro de otra, y por tanto cambiando el orden.
*''How Do I min/maximize all Synfig windows on a Windows pc''? There must be an easy way/tool to do this?
+
*¿''Cómo minimizamos/maximizamos todas las ventanas de Synfig en un PC con Windows''? ¿Hay un modo fácil de hacer esto?
  
== Use an external bitmap? ==
+
== ¿Cómo usar un bitmap externo? ==
  
* In the image menu (>) choose file-->import. PNG with alpha channel works fine.
+
* En el menú imagen (>) selecciona file-->import. Un PNG con canal alfa funcionará bien.
* To animate it without accidental stretching, right-click on the layer and choose encapsulate. You can then animate the position of the new "Inline Canvas" layer instead of the bbox.
+
* Para animarlo sin modificarlo accidentalmente, pulsamos  el botón derecho sobre la capa y elige encapsular. Podemos ahora animar la posición con una capa "Canvas en línea" en lugar de la bbox.
  
== Use an image as a fill colour? ==
+
== ¿Usar una imagen como color de relleno? ==
  
Make a new object (bline, region, squares, circles, polygons all work)  
+
Hacer un nuevo objeto (bline, región, cuadrado, círculo, polígono)  
Import the image you want as the fill colour, and put it on the layer underneith your object. Set the blend method of the image (using the {{l|Params Panel}}) to "onto" or "straightonto".  
+
Importamos la imagen que queramos como color de relleno, y la ponemos sobre la capa de tu objeto. Establecemos el método de mezclado de la imagen (usando el {{l|Panel de Parámetros}}) usando "onto" o "straightonto".  
  Encapsulate the object and the fill colour image, otherwise everthing below the image will have the same fill colour.
+
  Encapsula el objeto y la imagen de color de relleno, en cualquier otro caso la imagen será toda del mismo color de relleno.
Be sure to have a look at what the other composite options do as well.
+
  
== Use an external Vector? ==
+
== ¿Cómo usar un Vector externo? ==
  
Synfig doesn't yet support vector import because no-one has written an import process yet. You can use the Svg2synfig {{l|Converters|converter}}, or import it as a bitmap and trace over it in synfig. If you want to implement vector import we would gladly accept your patch.
+
Synfig todavía no soporta la importación de vectores ya que nadie ha escrito un proceso de importación hasta el momento. Podemos usar el Svg2synfig {{l|Converters|converter}}, o importar como bitmap y luego trazarlo en synfig. Si quereis implementar un importador de vectores aceptaremos el parche.
  
== Close a bline? ==
+
== ¿Cómo cerrar una a bline? ==
  
* Right click on the starting point and then click on loop bline.
+
* Hacemos click en el punto de inicio y acto seguido en loop bline.
 +
Nota: No funciona a menos que el punto inicial tenga una tangente - ej: el primer segmento sea curvo. Pero podemos ocultar los agarres tangentes con (Alt+3, o "Caret Menu > View > Show/Hide Ducks > Show tangent ducks") y seguir. No olvidemos pulsar (Alt+3) después de mostrar los agarres de tangentes.
  
Note: It doesn't work unless the initial point has a tangent - ie the first segment is curved. But you can hide tangent ducks (Alt+3, or "Caret Menu > View > Show/Hide Ducks > Show tangent ducks") and process as described. Don't forget to press (Alt+3) after that to show tangent ducks again.
+
== ¿Cómo transformar objetos encapsulados? ==
  
== How do I transform encapsulated objects? ==
+
* Haz click en objeto Encapsulado en el diálogo Capa y elige "seleccionar todas las capas hijo". Entonces seleccinamos los agarres que queremos transformar (normalmente todos ellos, como si fueramos a rotar el objeto), y con la herramienta rotar o escalar hacemos el trabajo.
  
* Right click on the Encapsulated object in the Layer dialog and choose "select all child layers". Then you select the ducks you want to transform (usually just all of them, like for rotating the object), and the rotate or scale tool and do the work.
+
== ¿Cómo hacer objetos que vayan detrás de otros, sin mover las capas? ==
  
== Make objects go behind each other, without moving layers? ==
+
Nos habremos dado cuenta de que cada capa que hacemos tiene un número en la columna z dept en el Panel de Capas. Imaginamos que tenemos 3 capas, estarán numeradas (la menor, será 2, ej: un cuadrado), la 1 será (ej: un círculo) y la 0 será (la mayor (la por defecto), ej: una línea). Para hacer la capa 1, el círculo, pasa a estar detrás de la capa 2, el cuadrado, cambia su profundidad z para a ser 3 o más. La profundidad z del círculo necesita ser más grande de 2 para estar detrás del cuadrado. Para hacer que el cuadrado esté por encima de todo, debemos cambiar su profundidad z a -1 o menos.
  
You'll notice each layer you make has a number in the z depth column in the Layers Panel. Say you have 3 layers, they will be numbered 2 (lowest, e.g. a square) 1 (eg a circle) 0 (highest, the default, e.g. a line). In order to make layer 1, the circle, pass behind layer 2, the square, change its z depth to be 3 or more. The z depth of the circle needs to be greater than 2 in order to be behind the square. To make the square on top of everything, you'd change its z depth to -1 or less.  
+
Los números positivos en el eje z van en la pantalla, y los números negativos van fuera de la pantalla.
  
Positive numbers on the z axis go into the screen, and negative numbers go out of the screen, towards the viewer.
+
Es posible animar este efecto, pero cada capa es discreta. Va desde el 0 al 0.9999.
  
It is possible to animate this effect, but each layer is discrete. They seem to go from 0 to 0.9999.
+
Además los objetos en capas encapsuladas sólo pueden estar detrás de otros objetos en la misma capa encapsulada. Sin embargo una capa encapsulada puede estar detrás de otras capas encapsuladas.
 
+
In addition, objects in encapsulated layers can only go behind other objects in the same encapsulated layer. However an encapsulated layer can go behind another encapsulated layer.
+
  
 
== Copy a complex convert combination between parameters of different layers? ==
 
== Copy a complex convert combination between parameters of different layers? ==
Line 195: Line 193:
  
  
=== Rendering through a .png sequence. ===
+
=== Hacer un render usando secuencias de png ===
Render your sif to png sequence
+
Hacer un render de secuencias png en synfig
 +
 
 
  mkdir render
 
  mkdir render
  synfig my_animation.sifz -o render/frame.png
+
  synfig pelicula.sifz -o render/fotograma.png
Then convert it to movie with ffmpeg
+
Crear una película con ffmpeg
  ffmpeg -r <frame rate> -i render/frame.%04d.png <more settings from ffmpeg's manual> my_animation.mov
+
  ffmpeg -r [fotogramas por segundos] -i render/fotograma.%04d.png [parametros extras para ffmpeg] pelicula.mkv
 +
Usar '''mkv''' hace el trabajo de crear un video muy rápido
  
 
=== Possible settings for ffmpeg ===
 
=== Possible settings for ffmpeg ===

Latest revision as of 14:44, 29 June 2016

Languages Language: 

English • español • français

Warning!

This page contains outdated information.

The release of Synfig Studio 0.64.0 introduced new terminology and this translated page needs to be updated according to original English text.

You can help updating this page - see instructions here. Thank you!

warning end


Puedes añadir tus propias preguntas aquí o contacta con nosotros. O ponlas en la Lista de Deseos del Wiki.

Contents

¿Quieres insertar texto?

Con las recientes versiones en desarrollo, hay una herramienta de texto. Si estás usando la versión 0.61.08 o anterior, haz click derecho en el canvas o ve a Layer > New > Other > Text.

¿Cómo cambiamos los atajos de teclado?

1. Encuentra el archivo de configuración de Synfig en:

 Ubuntu (y otros GNU/Linux): /home/{username}/.synfig/
 Mac OS: /Users/{username}/Library/Synfig/
 Windows XP: C:\Documents and Settings\{username}\Synfig\
 Windows Vista: C:\Users\{username}\Synfig\

2. Abrimos el archivo, llámado accelrc, usando cualquier editor de texto (GEdit, Kate, Notepad).

3. Cambiamos los atajos como queramos, lo salvamos y cerramos. Debemos recordar eliminar el ; al comienzo de la línea para hacer que funcione el atajo de teclado personalizado.

¿Cómo tener atajos de teclado al estilo Flash?

1. Seguimos el paso en cómo cambiamos los atajos de teclado, sin seguir el paso 3.

2. Copiamos y pegamos el código de debajo en la última parte del archivo accelrc y lo salvamos y cerramos.

; misc
(gtk_accel_path "<Actions>//redo" "<Control>y")
; tools
(gtk_accel_path "<Actions>//state-text" "t")
(gtk_accel_path "<Actions>//state-rectangle" "r")
(gtk_accel_path "<Actions>//state-rotate" "<Shift>q")
(gtk_accel_path "<Actions>//state-zoom" "z")
(gtk_accel_path "<Actions>//state-polygon" "n")
(gtk_accel_path "<Actions>//state-bline" "p")
(gtk_accel_path "<Actions>//state-normal" "v")
(gtk_accel_path "<Actions>//state-eyedrop" "i")
(gtk_accel_path "<Actions>//state-fill" "k")
(gtk_accel_path "<Actions>//state-circle" "o")
(gtk_accel_path "<Actions>//state-scale" "q")
(gtk_accel_path "<Actions>//state-gradient" "g")
(gtk_accel_path "<Actions>//state-draw" "y")
; navigation
(gtk_accel_path "<Actions>//seek-next-frame" "period")
(gtk_accel_path "<Actions>//seek-prev-frame" "comma")

¿Cómo aplicar un gradiente a un objeto y no a todo el canvas?

  1. Creamos la región que vamos a llenar con un gradiente, y la capa de gradiente, si no las tenemos ya.
  2. Nos aseguramos de que la capa de gradiente esté encima de la capa de región en el Panel de Capas.
  3. Seleccionamos ambas capas, con click derecho, y seleccionamos Encapsular.
  4. Expandimos la nueva capas de Canvas En línea si no la tenemos ya, y selecionamos nuestra capa gradiente.
  5. En el Panel de Parámetros seleccionamos el parámetro Método de Mezclado , y elegimos Onto en el menú desplegable.

El gradiente se recortará al área visible de la región inferior dentro del Canvas En línea. (y cualquier otra capa en esa sección).

¿Cómo se hace para mostrar u ocultar una capa, o disolver el efecto de un emborronado?

En el Panel de Parámetros, buscamos la opción Cantidad - esto controla la cantidad de mezclado resultante de la capa compuesta de otras capas.

En otras palabras, para una capa típica, esto será 'disolver'. Para una Capa de Emborronado lo ponemos a "Straight", esto fusionará la versión emborronada y la versión sin emborronar del canvas. Si queremos que esté menos emborronado, ajustamos el Parámetro 'size' de la Capa de Emborronado.

¿Cómo se Rellena un Borde?

(Requested by Karlb)

Hay varias opciones:

  • El modo más fácil es enlazar una nueva capa región a la forma del borde.
    1. Seleccionamos el borde que vamos a rellenar.
    2. En el Panel Parámetros, hacemos click derecho en el parámetro Vértice, seleccionamos "Export", introducimos un nombre para la forma, y pulsamos en Retorno. Esto exportará la forma del borde, haciéndolo visible en el Panel de Hijos.
    3. En el Panel de Hijos, abrimos el árbol de Nodos por Valor y seleccionamos el nombre con el que hemos guardado la forma.
    4. Desde el Menu de Capa (haciendo click en el contexto del Panel del Capa o usando el Menu de Cara de Canvas) creamos una nueva Capa de Región seleccionado "New Layer -> Geometry -> Region". Nos aseguramos de la capa creada esté seleccionada.
    5. En el diálogo de parámetros, click derecho en el parámetro de Vértices y hacemos click en "Connectar".
    6. Ahora, si no necesitamos exportar la forma, podemos desexportarla: haciendo click derecho en el nombre de la forma en el panel Hijos y pulsando en "Unexport".
  • De manera similar a la anterior, pero usando un método diferente:
    1. Creamos una capa de región nueva como en el caso anterior, y la dejamos seleccionada.
    2. No hacemos cambios en la capa de borde, que queremos rellenar.
    3. Seleccionamos ambas capas en el Panel Capas Esto mostrará sólo los parámetros compartidos por ambas capas en el Panel Parámetros.
    4. Hacemos click de contexto en Parámetros de Vértice, y seleccionamos Enlace.
    5. La Capa Región se ajustará a la forma de la Capa de Borde.
  • Cuando creamos un borde con la Herramienta Bline que pensamos rellenar, debemos asegurarnos de seleccionar el checkbox Relleno en el diálogo de opciones de herramienta. Obviamente, esto no nos ayudará si lo pensamos después de haber creado la forma.
  • Si estamos usando la Herramienta de Dibujo, hay un botón en la parte inferior del diálogo de opciones de herramienta llamado "Fill Last Stroke", que crea una nueva Capa Región y enlaza su forma al anterior borde que hemos dibujado. Desafortunadamente no funciona en Synfig Studio v0.61.04. Ha sido arreglado en la versión actual de SVN de código.
  • Creamos una región con el mismo número de agarres, y enlazamos manualmente cada agarre. Si queremos que una región dependa de múltiples capas de borde, esta es nuestra única elección.
  • Usamos la herramienta de dibujo, seleccionamos el único borde a rellenar, dibujamos un trazo siguiendo el borde y nos aseguramos de mantener la tecla Control cuando soltamos el botón izquierdo del ratón al final del trazo. Esto no funciona al 100% en estos momentos.

¿Cómo acoplar todas las ventanas juntas?

  • Para acoplar (unir) las ventanas separadas en una sola debemos arrastrar la pestaña iconos para cada una de las herramientas en otra ventana.
  • Podemos crear subdivisiones dentro de una ventana arrastrando los iconos en las pestañas laterales (que están en los bordes, parecen como rectángulos).
  • Las pestañas de Herramientas dentro de la ventana puede ser reordenada arrastrándolas dentro de otra, y por tanto cambiando el orden.
  • ¿Cómo minimizamos/maximizamos todas las ventanas de Synfig en un PC con Windows? ¿Hay un modo fácil de hacer esto?

¿Cómo usar un bitmap externo?

  • En el menú imagen (>) selecciona file-->import. Un PNG con canal alfa funcionará bien.
  • Para animarlo sin modificarlo accidentalmente, pulsamos el botón derecho sobre la capa y elige encapsular. Podemos ahora animar la posición con una capa "Canvas en línea" en lugar de la bbox.

¿Usar una imagen como color de relleno?

Hacer un nuevo objeto (bline, región, cuadrado, círculo, polígono) Importamos la imagen que queramos como color de relleno, y la ponemos sobre la capa de tu objeto. Establecemos el método de mezclado de la imagen (usando el Panel de Parámetros) usando "onto" o "straightonto".

Encapsula el objeto y la imagen de color de relleno, en cualquier otro caso la imagen será toda del mismo color de relleno.

¿Cómo usar un Vector externo?

Synfig todavía no soporta la importación de vectores ya que nadie ha escrito un proceso de importación hasta el momento. Podemos usar el Svg2synfig converter, o importar como bitmap y luego trazarlo en synfig. Si quereis implementar un importador de vectores aceptaremos el parche.

¿Cómo cerrar una a bline?

  • Hacemos click en el punto de inicio y acto seguido en loop bline.

Nota: No funciona a menos que el punto inicial tenga una tangente - ej: el primer segmento sea curvo. Pero podemos ocultar los agarres tangentes con (Alt+3, o "Caret Menu > View > Show/Hide Ducks > Show tangent ducks") y seguir. No olvidemos pulsar (Alt+3) después de mostrar los agarres de tangentes.

¿Cómo transformar objetos encapsulados?

  • Haz click en objeto Encapsulado en el diálogo Capa y elige "seleccionar todas las capas hijo". Entonces seleccinamos los agarres que queremos transformar (normalmente todos ellos, como si fueramos a rotar el objeto), y con la herramienta rotar o escalar hacemos el trabajo.

¿Cómo hacer objetos que vayan detrás de otros, sin mover las capas?

Nos habremos dado cuenta de que cada capa que hacemos tiene un número en la columna z dept en el Panel de Capas. Imaginamos que tenemos 3 capas, estarán numeradas (la menor, será 2, ej: un cuadrado), la 1 será (ej: un círculo) y la 0 será (la mayor (la por defecto), ej: una línea). Para hacer la capa 1, el círculo, pasa a estar detrás de la capa 2, el cuadrado, cambia su profundidad z para a ser 3 o más. La profundidad z del círculo necesita ser más grande de 2 para estar detrás del cuadrado. Para hacer que el cuadrado esté por encima de todo, debemos cambiar su profundidad z a -1 o menos.

Los números positivos en el eje z van en la pantalla, y los números negativos van fuera de la pantalla.

Es posible animar este efecto, pero cada capa es discreta. Va desde el 0 al 0.9999.

Además los objetos en capas encapsuladas sólo pueden estar detrás de otros objetos en la misma capa encapsulada. Sin embargo una capa encapsulada puede estar detrás de otras capas encapsuladas.

Copy a complex convert combination between parameters of different layers?

For example: you want to copy a complicated conversion type that you have in one parameter from a layer, to other parameter (maybe not a root parameter, but a sub-parameter) of other layer. If you export the complicated conversion type from the original layer and then go to the other layer and select Connect (right click and the exported and the parameter both selected) then you have the parameter form the second layer to be exactly the same than the original one. But there is a drawback: if you modify one of the sub-parameters in the complicated conversion type (e.g. you change the value of one of them) then automatically the same sub-parameter of the other layer is changed.

How can you copy the conversion but allow modify the sub-parameters independently on each layer?

Once you have achieved the complex conversion type in the original layer, don't export the root parameter! If you have done yet unexport it. (Why?. You will understand it later.) Now duplicate the original layer. Then you should obtain the same layer with the same conversion type placed at the same parameter (but not exported). NOW export the parameter from the duplicated layer. Then go to the (sub) parameter of the layer where you want to copy the complex conversion type and Connect it to the just exported parameter form the duplicated layer. Now delete the duplicated layer (!). Then the exported ValueNode still undeleted and the layer where you wanted to copy the complex convert type have a (sub) parameter connected to it. You can unexport the ValueNode or not. It is up to you. But notice that the conversion type is already copied into other (sub) parameter of other layer and they are independent as well as you can change one of them (by modifying the sub-parameters) and the other remains untouched.

Make an existing animation run at half speed?

If you have an animation that runs from 0s to 10s and you want it to run at half speed from 0s to 20s, how can you do that?

  • Either: encapsulate it, and use the 'time offset' parameter in the encapsulation layer to slow it down:
    • Right-click 'time offset' in the encapsulation layer, convert>linear, rate -0.5 offset 0. That means offset the time by -0.5 seconds per second - or in other words, run at half speed
    • Or, putting waypoints on the 'time offset' param would work too: 0 at 0s and -10 at 20s. (The choice between using a linear convert and valuenodes is entirely up to you. They both achieve the same result in this simple case).
  • Or: use a Time Loop Layer. The first method seems better and more intuitive in this case, but there are ways of getting the same effect from the Time Loop layer. Perhaps the Time Loop layer is better if the animation doesn't run from 0s, but from some other time. Anyway: put a Time Loop layer over the layers you wish to slow down, and:
    • Either: set duration to 0, local time to 0, convert->linear the link time and set rate to 0.5 - this slows the animation down *to* 50% of its original speed; use bigger rates to slow it down less
    • Or: set duration to 1h (*), link time to 0, convert->linear the local time and set rate to 0.5 - this slows the animation down *by* 50%; use bigger rates to slow it down more

(*) if your animation is longer than 1h then set this parameter to EOT (End Of Time) what is the same as Infinite (INF) for a real number but for a time parameter.

Draw a rectangle with a given width and height?

I was asked on IRC how to specify the width and height of a rectangle, rather than having to specify the position of two opposite corners. Here's how:

  • draw a rectangle
  • go to the Params Panel
  • right-click the 'point 1' parameter and Export/es
  • give it a name, "p1" say
  • right-click the 'point 2' parameter and Convert to Add
  • (that's saying that rather than specifying the absolute position of the other point, you want synfig to calculate it for you)
  • (it will make 2 new sub-parameters for 'point 2', and the value used for point 2 will be their sum so we want to tell it to use 'point 1' and your (width,height))
  • open up the sub-parameters of 'point 2' by clicking the triangle to its left
  • go to the Children Panel, open up the values and select the one you exported earlier (p1)
  • right-click the "LHS" parameter in the parameters dialog and Connect it
  • then enter the width and height you want in the 'RHS' parameter

Make linked BLine vertices not affected by Rotate layer?

Look at the http://dooglus.rincevent.net/synfig/logs/2008/%23synfig-2008-02-07.log See also: Convert.

Create dashed outlines?

If you want to make simple dashed outlines the faster way is proceed like this:

  • Create a Curve Gradient and an Outline over the same Bline using the Bline Tool options. Check both Outline and Gradient at the Tool Options Panel.
  • Raise up the gradient layer (it is created below the Capa de Perfil).
  • Modify the gradient Blend Method parameter to be Straight Onto. That would render the gradient onto the outline width. Also it wouldn't render the outline, so transparent portions of the gradient are transparent.
  • Check the 'Perpendicular' parameter of the Curve Gradient Layer.
  • Convert the Gradient Parameter of the Curve Gradient Layer to be one of those types: Stripes or Repeat Gradient.
  • Modify the properties of the sub parameters to achieve the desired effect.

Render to AVI with higher quality?

Using raw video

The module used by Synfig to render AVI files is ffmpeg. For the moment there is not interface to control ffmpeg options so you render with a fixed bitrate and quality. If you want the maximum quality in your AVI file, follow these steps:

  • Render your animation to yuv420p format. To do that select that target at the drop down list of the render dialog and add the ".yuv" extension to your animation name (without quotes).
  • Once rendered (it would produce a huge size yuv file) you can quickly convert it to AVI using this command:
ffmpeg -i animation.yuv -sameq animation.avi

Change the animation file name to your one.


Hacer un render usando secuencias de png

Hacer un render de secuencias png en synfig

mkdir render
synfig pelicula.sifz -o render/fotograma.png

Crear una película con ffmpeg

ffmpeg -r [fotogramas por segundos] -i render/fotograma.%04d.png [parametros extras para ffmpeg] pelicula.mkv

Usar mkv hace el trabajo de crear un video muy rápido

Possible settings for ffmpeg

Possible settings for converting the png sequence from synfig into a video using ffmpeg, from the ffmpeg manual, are

  • for a low quality flv file (eg: for streaming from low bandwidth server)
ffmpeg -r <frame rate> -i render/frame.%04d.png -f flv my_animation.flv
  • for a high quality flv file (2 pass encoding, eg: to be uploaded on youtube)
ffmpeg -r <frame rate> -i render/frame.%04d.png -f flv -b 2M -s y -pass 1 -passlogfile log_file video.flv
ffmpeg -r <frame rate> -i render/frame.%04d.png -f flv -b 2M -s y -pass 2 -passlogfile log_file video.flv
flvtool2 -UP video.flv
  • for mid quality H264 mp4 file (try to change CRF from 15 -high quality- to 25 -generally satisfactory for animations-). H264 codec requires both width and height of source frames to be multiples of 16.
ffmpeg -r <frame rate> -i render/frame.%04d.png -crf 25 -vcodec libx264 -vpre hq my_animation.mp4
  • for high quality H264 mp4 file (2 pass encoding)
ffmpeg -y -r <frame rate> -i render/frame.%04d.png -r 30000/1001 -b 2M -bt 4M -vcodec libx264 -pass 1 -vpre fastfirstpass -an my_animation.mp4
ffmpeg -r <frame rate> -i render/frame.%04d.png -crf 25 -vcodec libx264 -vpre hq my_animation.mp4
  • replace the second pass above with the following to include an AAC audio stream
ffmpeg -i <audio file> -r <frame rate> -i render/frame.%04d.png -crf 25 -vcodec libx264 -vpre hq -acodec libfaac -ac 2 -ar 48000 -ab 192k my_animation.mp4

If you need nice open source format without any tweaks you may try ffmpeg2theora:

ffmpeg2theora render/frame.%04d.png --inputfps <frame rate> -o my_animation.ogg

png takes less disk space then yuv. --AkhIL 21:38, 9 April 2008 (EDT)

If you want you can also use mplayer.

mencoder mf://render/frame.*.png -mf fps=25 -o my_animation.avi -ovc lavc -lavcopts vcodec=mpeg4

Increase performance by optimizing during compilation time?

I would like to know what parameters do I need to apply to configure to improve performance. Genete 11:04, 9 April 2008 (EDT)

To optimize program you should set two environment variables

export CFLAGS=""
export CXXFLAGS="${CFLAGS}"

First flag will be "-O3" (ow three). "-02" is normal optimization. "-03" is hard optimization.

Now you should get info about your CPU

cat /proc/cpuinfo

find your cpu model name

now go to man gcc and search "-mtune"

find your cpu and add "-mtune=your-cpu -march=your-cpu" to CFLAGS.

Then look at flags from /proc/cpuinfo and search it in gcc manual For example I have 3dnow. So I can find "-m3dnow". For sse I can find "-msse" and "-mfpmath=sse" (can make program unstable).

Finaly you may add "-ffast-math" to disable math checks. But it can make program unstable.

For my AthlonXP I'm using this flags:

export CFLAGS="-O3 -pipe -mtune=athlon-xp -march=athlon-xp -mmmx -msse -m3dnow -mfpmath=sse -ffast-math -funsigned-char -fno-strict-aliasing"
export CXXFLAGS="${CFLAGS}"

--AkhIL 12:05, 9 April 2008 (EDT)

For my Pentium3 i use the line:

export CFLAGS="-O3 -pipe -mtune=pentium3 -march=pentium3 -msse -mfpmath=sse -funsigned-char -fno-strict-aliasing"
export CXXFLAGS="${CFLAGS}"

The additional switches -mmmx and -ffast-math does seem to not yield any gain in computing performance! So you could leave them out. --SvH 03:46, 20 May 2008 (EDT)

Import a movie into Synfig?

To import a movie (image only, not sound) into synfig there is only one option for the moment: Extract an image sequence from the movie and import them using ListImporter. Before you can load the image sequence you have to extract it from the movie. There are several software to do that but a straight and easy way is to use mplayer:

mplayer mymovie.avi -vo png:z=1 -ss seconds-start -endpos duration 

where seconds-start are the seconds where you want to extract form and duration is the number of seconds you want to extract from mymovie.avi. Also the image format specified in this case is png but jpeg or tga can be used also. See mplayer manual page for more info.

It would extract a set of files of the selected section of the movie. Each file takes the frame number padded with leading zeros as name.

To put all the filenames into a .lst file just type this in the folder wehre the files are:

ls *.png >> mymovie.lst

and add a line specifying the frame rate at the beginning of the text file:

FPS 25

if the movie was 25 fps.

Granted Wishes

MNG target filetype

The ability to save as/in the Free/Open MNG (.mng) format [1]

A partial implementation was committed in SVN r470.

It was implemented in svn 986. See Render options. --Genete 13:12, 29 October 2007 (EDT)

Optionally display RGB in Hex in Color dialog

(3) When colors are quoted as 3 bytes of hexadecimal, you have to convert them to decimal, divide by 255, multiply by 100 to get a number to type into the dialog box. It's painful to match color schemes for example, with the Tango Icon Theme style guidelines. PXEGeek 3/16/07

Added in svn r354. You can type 3 or 6 digit hex codes and hit return to use. 3 digit code 36a gives colour 3366aa (each digit is duplicated) -- dooglus 3/18/07
Many thanks - already used many times! PXEGeek.
Did you notice that you can use single digit codes too? '5' gives 555555 for instance, giving you 16 equally spaces shades of black through white. -- dooglus 17:51, 25 September 2007 (EDT)

Restore Default Layout

(3) — It's very difficult to put all the dialogs back where they were when you started the program, if you've closed them. In addition, with many programs, if you've done something with your window manager to take a window's position off screen, this command is sometimes the only way to bring them back. -> I'd like to second this one - especially with the bug where dialog boxes sometime shrink to nothing or offscreen, and no amount of maximizing or minimizing restores them. The only solution is to kill the windows, and none of the combo options in the dialog menu match the default configuration. 4/4/07 PXEGeek

Implemented in svn r757 -- dooglus 17:48, 25 September 2007 (EDT)

General outline / Polygon-based Outline / "Set Tangents to Zero" button

(3.5) I'm no artist, thus my primary form of art is stick figures, not to mention, many interesting animations are done in stick-figure style. Stick figures must be perfectly straight to get the effect across, so when I'm making an outline using B-Curves, it is too time consuming to set the tangents to 0 each time. Similarly, outlines of other shapes like squares, circles and so forth would be very useful. Whichever of the above is easiest, please implement right away. --Dragontamer 02:35, 19 November 2007 (EST)

For perfectly straight lines, click without moving the mouse. You will get a single point with no tangents. Outline shapes would require some development, particularly with some thought given to backward compatibility. A workaround you might consider is to create a duplicate shape with a different color and make the top one slightly smaller, so the outline of the one below shows. Pxegeek 21:58, 19 November 2007 (EST)
Well, in general, whenever I click on a point to edit it (say, to make it move somewhere in animation mode), there is a decent chance that I click on a tangent instead. Then, if I want to right click the point itself, I usually right click the tangent marker instead. It isn't that big a deal, but simplicity at the cost of power generally is a good thing, especially when it will save a few mouse clicks.
As for the outlines, yeah, I've tried that and it is a decent solution for now, although it is no replacement for a real outline. I am going to also experiment with a clamp to see if I can make the center of the shape have 100% alpha... but I don't have synfig on the computer I'm on right now. Thanks for the tips Pxegeek. --Dragontamer 01:58, 27 November 2007 (EST)
You can press Alt+3 to hide tangent ducks. --Zelgadis 09:27, 27 November 2007 (EST)

What to do when I've made a mistake and added tangents to a point wich had none initially ? How can I "remove" tangents ? The only way I see is to go to the "param" panel, look for the correct tangent, and manually enter a zero value for its lengh.--Grondilu 22:34, 13 April 2010 (UTC)

Copy & Paste/Image Importing

(4) I sometimes make graphics in other programs, or use clipart and other images. Would it be possible for Synfig to be able to import images and/or copy and paste them?--Khlieeq 2007-07-19 Well, it doesn't support Copy & paste from the clipboard, but you can import images using "New Layer -> Other -> Import". This will create an Import layer, for which you can then edit the properties to point to the file containing your image. PXEGeek. 2007-07-19


Recursive Waypoint Manipulation

(4) it is really tiresome to revert changes to waypoints created by manipulating tangent/position ducks or change their interpolation functions. making it possible to right-click-modify the waypoint shown for objects that have some waypoint in a referenced sub-object would be great! -- timonator 2007-06-01

You can do it in two ways: changing the interpolation method of the waypoint of paste canvas or editing the keyframe properties. The first allow to modify the waypoints interpolation method for all the waypoints of all the parameters of all the layers that are inside the paste canvas layer. You can right click on the left or right part of the waypoint to edit by a context menu the left or the right interpolation method of the waipoints. The second method would add and modify all the parameters that have any waypoint in the animation. See Keyframe for more detail. --Genete 13:10, 29 October 2007 (EDT)


Tweening for images developed in other imaging programs

It's obvious I am a beginner at image movement, but morphing is not enough: movement across the page is needed. Thanks for listening. Comwell
Imported images can be moved across the page. They can also be scaled, rotated and deformed. Was there a specific example you had in mind? pxegeek

I also would like a way to tween images that have been drawn in other programs. I've had trouble drawing with Bline tool and the drawing tool in Synfig, and I'd rather just draw with a paint brush (like the one in Photoshop). Another problem I have is that Synfig tends to shut down on me every 20 minutes or so, and it's really frustrating even with the auto recover feature, because my sketches disappear. It'd be nice if I'm able to draw all of the keyframes in Photoshop or another image program and import it to Synfig so that Synfig can tween and animate them. Thank you. Huina
You CAN use images, drawn in other programs. Just select "File->Import" from canvas menu --Zelgadis 01:39, 24 November 2007 (EST)
But how do you animate using images from other sources? I tried to make 2 keyframes with 2 different images, and it doesn't animate. It just stays as 1 picture for the entire render. The closest thing I saw to importing images from another source into Synfig and having it animate is the Walking Cycle Tutorial, but I would still have to trace the images to make it animate. As I said earlier, I'm not entirely fond of using the draw/Bline tool. Huina
Huina, there's no way to do what you want right now. Interpolating between two images that are not created in Synfig is well beyond its scope right now. However, what you could do is take an image and separate elements of the picture onto different layers (e.g. have a picture of an arm and another of the rest of the body) and you can move those around, stretch and rotate them. (If you're familiar with the work of Terry Gilliam on Monty Python you'll know what I mean) I don't know how feasible it is to implement your request (I suspect some heavy lifting). We'll keep it on the list, but don't hold your breath. Pxegeek 19:57, 24 November 2007 (EST)
I think, you hardly find any other animation package which allow you to do such things. You could use a special tools for this task, like xmorph (http://xmorph.sourceforge.net/). But to do the tween between two bitmap images you STILL need to set points. It's not tracing, but very similar. Anyway, result may be poor and I'd better suggest to use technique, described in Walking Cycle Tutorial or which the Pxegeek meant. --Zelgadis 02:08, 25 November 2007 (EST)
There is a technique called "optical flow". It takes two input frames and calculates the movement of each individual pixel between the frames, allowing interpolation to be done. Here's an example: http://www.fxguide.com/article333.html. It doesn't require setting of control points, but it has problems it's own set of problems: http://www.fxguide.com/article333.html. --Yoyobuae 13:32, 3 February 2008 (EST)



Auto-link option in Draw Tool

(4) so that you can draw a line, and have its endpoint automatically link to a duck - or if Auto-connect is off, you can get a line object linked to the end of another line object. / I missed this too, it even should be like that by default I think. Maxy 13:22, 25 Apr 2006 (PDT)

Isn't this done already? We don't have line objects, but blines are automatically linked to if auto-connect is on. Am I missing something? -- dooglus 17:29, 27 September 2007 (EDT)
To clarify dooglus' comments - If you have an outline created by the draw tool highlighted in the layer dialog and the auto-extend checkbox is checked, then you can continue drawing with the draw tool in that same layer. Blines created with the Bline tool cannot be extended once a different tool or layer is selected. Pxegeek 23:46, 12 October 2007 (EDT)
A line is a line - Synfig doesn't remember whether it was created with the Bline tool or the Draw tool - so you can extend blines created with the bline tool using the draw tool. Just make sure the line is selected (so that its ducks are visible), not looped (so that it has end points to extend from), enable the draw tool, check 'auto extend' and start drawing at one of its end ducks. dooglus 05:47, 13 October 2007 (EDT)

So this sounds like it is already done. But on a related note, being able to open an existing bline in the bline tool to extend it would be useful. -- dooglus 04:51, 29 January 2008 (EST)


Layer hide boolean parameter

(3) — An animatable way to remove a layer from visibility and consideration in tools. And as an option, to hide the layer in the layer list while it is invisible. This crosses over functionality from the Amount, the Show/Hide checkbox in the Layers Panel, and builds upon it as well, allowing the Layers Panel to dynamically unclutter. (This feature request is a refactoring of the Amount)

With the addition of the Switch type conversion it is not needed this feature request. You can convert the Amount parameter to a Switch value and give 0 and 1 to the Linked OFF/ON values. --Genete 13:20, 29 October 2007 (EDT)



Riding ducks

(2) — Not chocobos. The ability to link a duck from one shape to an arbitrary position on another path, without creating an extra shape duck on that path.

Already done in SVN.Genete 18:59, 5 April 2008 (EDT)



Image filmstrip import

(2) — Allow import of a series of images (TGA, etc) as frames of an animation, on a layer.
Response - 'lst' files of a list of images can be imported. I've used this to develop a walk cycle. See Walk cycle for an example. pxegeek



Character Animation Tools

I have seen some interesting methods for helping character design/animation in different 2d/3d software. Hash's animation master has 'poses' which are extremes of a model, for example smiling and frowning, once you add these extremes ot a set you can use slider to create a pose that somewhere inbetween. The real power of this is when you have serveral different poses on the same object, a face say, you can easily come up with new facial expressions. Maybe something similar could be done with synfig using layers and groups, the implementation could something similar to Moho's switch layers. --Triclops 09:52, 9 Aug 2006 (PDT)

Have you read this tutorial? Reuse Animations. It is very close to the Switch layer of Moho/Anime Studio. Also You can change the Canvas parameter to any other canvas dynamically in the time line by clicking on it and selecting other exported canvas. Other option is convert the canvas to a Switch type and alternate between two different canvas. --Genete 13:26, 29 October 2007 (EDT)



More Animation Tools

Added here


Improved User Experience for First Contact

  • Single file download and installer (at least for Windows)
  • Ability to draw the first object directly after starting the application (start with an empty document)
  • Ability to animate the object directly after drawing the first object (new documents have a say 3 seconds timeline)

In my opinion this is crucial to attract potential users. Because if I see how easy it is to create my first animation I'm going to accept all the bugs and clumsyness. A good example is the Pencil animation software. --Dmd 13:50, 26 January 2008 (EST)

I've implemented #2 and #3 above in svn r1519 & 1520. If no files are specified to be opened when running studio, it'll make a new one. It won't pop up the canvas properties dialog when making new canvases by default. And the default end time is 5s (3s is small enough to cause the time slider to show "1s 12f", whereas 5s looks cleaner). -- dooglus 04:00, 29 January 2008 (EST)




Automatic attach and manipulate a Vertex to a Bline

Please see this page to understand what we want. --Genete 12:43, 3 March 2008 (EST).

Already done in SVN. Genete 19:00, 5 April 2008 (EDT)



Toggle visible ducks

(3) So pressing, say, tab while editing a Bline toggles which vertices/ducks are visible - so we can easily move the actual vertices around without having the view cluttered by tangeants (and also make it easier to select 'Loop' rather than 'Split Tangeants' when creating the thing.)

Given that extra ducks such as the width ones listed above may be added, this might become more and more necessary. If too many different sets are added for toggling to be feasible, each visibility for each set can be hotkeyed.

Synfig already have hotkeys to toggle visibility of the ducks. See Keyboard Shortcuts. --Zelgadis 00:39, 22 April 2008 (EDT)


Remove the thin line from stitched regions

When you stitch or sew two regions together with the same color (or different even?) it can appear a thin line in the common edge that reveals the background color (see the problem here). This is due to that the antialiasing effect is keeping the background pixels information and displays it on the region. To solve this issue it is needed to:

1) Uncheck all the antialias parameter of all the regions involved
2) Add a Supersample Layer over the layers that has the antialiasing parameter disabled. A value of 4 for the height and width values is usually enough. Maybe you need to check "Alpha Safe" for better results.
3) Render normally.

This tip is particularly useful when you want to have a region over and under other composition at the same time.

SAMPLE SHOWING THE THIN LINE REMOVED THIN LINE AFTER SUPER SAMPLE
Image: planet-saturn2.png Image: planet-saturn2ss.png

It has the draw back that intermediate layers has to be super sampled too (line the planet in the example) because the super sample has to be done at the same time to the involved regions (the back and top half rings).


Languages Language: 

English • español • français