joining layers

Hello there,

I have another minor but annoying problem. It must be easy but the informayion is hard to find. I have eight coloured balls which I would like to animate.

How can I join the layers so that the number and the ball move as one?

The animation is attatched (as yet it doesn’t move).

kur 2010.sifz (905 Bytes)

There are two basic options to solve this issue.

Synfig has a unique feature that consists in that any parameter that can exist in a layer can be linked to any compatible parameter to other layer. Compatible means same type (integer with integer, real with real, vector with vector). Also in Synfig, each primitive layer has a parameter called Origin that represents the “origin” of the rest of the other parameters of the layer. In the case of the circle the origin coincides with the center of the circle. In the case of the text layer the origin is the place from where the text is rendered although you can displace the text position relative to its origin by modifying the “Orientation” parameter. Current disposition of your text is perfect because you have centered it into the number.
So here the recipe:

  1. Select the circle and the text layer. You can do that by CTRL click on the layer panel (*). Once both are selected you can see that the parameter list is shrunk to the parameters that selected layers have in common. In this case they have the Origin as common parameter.
  2. Do right click on the Origin parameter and select “Link”. That will add a small “DYN” label to the parameter name of each layer that means that is it linked to other parameter.
  3. Select the Circle layer or the text layer and move its origin. The other layer will follow.

If for some reason the layers that you want to have composited has the origins at different positions and link them will ruin the composition, or it is so complex that doesn’t allow solution a) then you can use the following recipe:

  1. Do the same step 1) than the other recipe.
  2. Click on the Encapsulate button in the layers panel. It is a layer icon with a curved arrow pointing to a light brown box. That will put both layers into a Paste Canvas Layer which will act as a folder. The Paste canvas layer has a parameter called Origin that you can modify. It will move all the content that is inside the Paste Canvas Layer. Unfortunately (or maybe not?) the Origin of the Paste Canvas Layer is created at the origin of all the coordinates (0,0) which is at the center of the canvas.

I hope that helps you.

Thanks for the quick and easy answer.


ok - further to that discussion - if i don’t wish to link the layers - per se but have a number of elements on a layer that i want to link to a number of different layers - does the linking extend down to elements?

can the linking be transparent of elements be transparent on some layers so that element 1 on layer 1 is linked to element 2 on layer 2 but also element 1 is linked to element 3 on layer 3.

seems like the origin creates a hierarchy - is this the case?


In Synfig each compatible parameter of a layer can be linked to any other “compatible” parameter of any other layer.
By compatible it means the same type.
The straight way is to select the two layers and and link the ducks of the parameters that are compatible: i.e. the center of a circle with the vertex of a bline (both are vector types). To link two ducks you just have to select them at the same time (CRTL + left click or drag a selection rectangle) and right click one of them and select “Link”
Then the parameter doesn’t have any duck associated (i.e. Amount of any layer) you have to do some steps:

  1. right click one of the parameter to link.
  2. Select “Export” give it a name.
  3. Go to Child panel and expanding the Value Node list, select the exported value node.
  4. Back to the layers and select the other layer you want to link the exported parameter
  5. Then in the parameters panel select the other parameter you want to link the exported.
  6. Right click it and select “Connect”.
    Both parameters (exported and connected) will share the same value node.