If you examine our sources, you may notice that when we work on character animation, we usually place every character in separate Synfig file. This approach have certain advantages. For example, it becomes possible to have several people working on the same shot at once. Also, when you have shot split into pieces, you have much faster rendering/redraw speed when working on single piece…
But to be honest, the true reason for this approach is dictated by some important restriction. This restriction comes from the fact that we are using stickman for character animation. And this restriction is: you can’t have more than one stickman in one file.
Yes, Synfig Studio does have feature to copy layers from one file into another, but stickman’s data is partially stored in the exported values and the copy operation doesn’t transfers them together with layers. I guess my explanations are quite messy, but believe me – the stickman’s structure is very complex and current functionality of Synfig Studio doesn’t allows to create its copies in traditional way. If you used stickman you most probably faced that limitation. Thus, you can’t have two stickmans in single file.
It wasn’t a problem before, but recently I started to prepare shots of the Demo for vectorization. Maybe you remember, we have dancing and fight scenes, where characters closely interact with each other – Ivan holding Morevna, that means that Morevna should be “between” Ivan’s layers; then they turning and that means that all parts for both stickmans should change order… It become obvious – for such shots it’s impossible to continue with one-character-per-file schema and we need to have files with two or even more stickmans.
So, we have written a quick python script which takes stickman file an merges it into any given synfig file. You can repeat this operation many times to get as many stickmans in single file as you like. And yes, it’s possible to merge stickmans which already have traced data inside.
Download script: stickman-merge-tool.py
Please note, that the script is only working with the latest stickman template:
The syntax is simple:
stickman-merge-tool.py /path/to/stickman.sif /path/to/file.sif
The first file (which should be the stickman one) will be merged into second file. ( We strongly advice to make a backup of second file first. ^__^ )