diff --git a/source/converters/0overview.rst b/source/converters/0overview.rst index 0d6b5b5..74096ec 100644 --- a/source/converters/0overview.rst +++ b/source/converters/0overview.rst @@ -2,4 +2,79 @@ ######################## Overview -######################## \ No newline at end of file +######################## + +Each layer in Synfig consists of a bunch of different parameters we call :ref:`valuenode`, it's a node that returns a value at current time. +Those nodes vary from very simple ones that just returns a static value of their type (Integer, Real, Color, etc.) or they can be quite complex and return values based on various formulas (Dynamic, Random, Spline Vertex) and everything in-between. +The list of all converters you can find in the index to your left just below this Overview section. + +All ValueNodes can be nested, meaning you can attach an output from one VlaueNode to another one then another one and so on until you get the desired result. + +To convert a parameter, right-click on it -> Convert -> Choose converter you want to apply: + +.. figure:: overview/ToConvert.png + +On this screenshot we're converting Origin parameter of a :ref:`layer_circle` to Composite in order to get access to its X and Y as separate values (you will understand why, just keep reading). + +To remove converters, right-click on a parameter and hit Disconnect. + +Now, let's say we want to make an animation of a circle travelling from left to right side of the screen in sine-like pattern. +To accomplish this, we need X to represent time (linear shift) and Y to represent amplitude. For that, we need to apply following converters to circle's origin parameter: + +* Origin -> Composite (so we have access to X and Y components separately) + + * X -> Linear (represents time) + + * Set Offset to -3.25 to place circle to left side of the screen, set Rate to whatever you like, it controls how fast time moves forward, I set it to 1.3 so the circle will end up in the opposite part of the screen after 5 seconds + + * Y -> Sine (represents amplitude) + + * Angle -> Linear + + * Set Offset and Rate to your liking, I set Offset to 0 and Rate to 180 so period wouldn't take too long + + * Set Amplitude to 1.5 so the circle wouldn't leave visible part of canvas + +And that's it. If you play/preview the animation you will get something like this: + +.. figure:: overview/CircleSine.gif + +Here's the source file (created in Synfig 1.4.5): + +:download:`CircleSine.sif ` + +This example is, of course, not very useful, but it should illustrate the conception of converters pretty well. +Basically, you can mix multiple converters to implement different formulas, make automatic animations, help you with rigging and so on. + +Types +---------------- + +In Synfig, each ValueNode has a base type. We have the following types: angle, bool, canvas, color, gradient, integer, real, time and vector. +Some converters support all types (ex. Time Loop, Switch), others support some (ex. Add, Random), some only specific types (ex. Stripes, Radial Composite). +What types a particular converter can be applied to you can find on its page. + +What is inverse manipulation? +---------------- +After a converter has been applied to a ValueNode, you will lose the ability to manipulate that node through GUI handles. +You can see it in our little example above, if you try to drag circle's origin you'll get this error: + +.. figure:: overview/DirectManipulation.png + +The reason for that is due to an arbitrary complexity of a formula you could have applied to a parameter. +Synfig doesn't know what ValueNode it must manipulate to provide a result user would expect. +To battle this, some converters have "Inverse Manipulation" attribute that allows you to leave a specific sub-ValueNode of a converter to allow GUI to manipulate parameter through a handle even after a converter has been applied. +You will find information whether converter allows inverse manipulation or not and what node must be left untouched on a page for that specific converter you're interested in. + +Conclusion +---------------- + +Converters can be tricky to understand, especially if you didn't pay attention in math class (like many of us). +But it is a great instrument if you need to automate various animation tasks, so I'd say, it's worth learning. +And of course, if you got stuck, feel free to ask a question on our forums: https://forums.synfig.org/ + +Here is some cool stuff for you to check out further: + +* `Parabolic shot `_ — example of using converters to create automatic animation (to do: transfer from old wiki) +* `Particle template `_ — example of converters used to implement new functionality (to do: transfer from old wiki) +* `3D shenanigans `_ — converters used to make semi-3D models +* `User templates `_ — various templates created by Synfig users \ No newline at end of file diff --git a/source/converters/overview/CircleSine.gif b/source/converters/overview/CircleSine.gif new file mode 100644 index 0000000..51487bb Binary files /dev/null and b/source/converters/overview/CircleSine.gif differ diff --git a/source/converters/overview/CircleSine.sif b/source/converters/overview/CircleSine.sif new file mode 100644 index 0000000..c455c29 --- /dev/null +++ b/source/converters/overview/CircleSine.sif @@ -0,0 +1,97 @@ + + + Synfig Animation 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0.044056 + 0.044056 + 0.044056 + 1.000000 + + + + + + + + + + + + + + + + 0.043229 + 0.120764 + 0.458531 + 1.000000 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/source/converters/overview/DirectManipulation.png b/source/converters/overview/DirectManipulation.png new file mode 100644 index 0000000..a379d89 Binary files /dev/null and b/source/converters/overview/DirectManipulation.png differ diff --git a/source/converters/overview/ToConvert.png b/source/converters/overview/ToConvert.png new file mode 100644 index 0000000..fb090df Binary files /dev/null and b/source/converters/overview/ToConvert.png differ