A significant Synfig setback

Did you ever do something stupid like drive your car for two weeks with the emergency brake on without realizing it, resulting in a damaged car and emotional psyche? A similar thing happened to me with Synfig this week but the only problem was that the emergency brake was not in clear sight and it came with an instruction manual.

Setting the stage for destruction

In my free time this week, I was catching up on my “Watch Later” cue on Youtube. One of the videos was by Darth Furby. I started following Darth’s work years ago when I started using Anime Studio Pro. He’s an incredible artist who shares all his animation techniques and tricks. Recently, Darth started posting Synfig how-to videos.

While watching his video on project settings and basic masking, Darth explained something that I never discovered on my own—that the project/render settings are crazy. It was at that moment that I also realized my project settings could be wrong for all my work. This was going to be an emergency brake that would be painful to repair.

So where’s the beef?

The problem is with the property settings (edit/properties). Up to now I thought that image size was the canvas/document size but it’s not. Image size is the render size for the document. If you change the image size, it looks like you’re changing the canvas because the canvas size will change for your document. I’ve never seen a program where the render settings will change the actual canvas.

Image area highlighted in red is the canvas size. | courtesy of darth furby
Image area highlighted in red is the canvas size. | courtesy of darth furby

So where’s the setting for the document size? It’s what’s referred to as image area (circled in red, above). Notice that it looks odd? Are they the aspect ratio? What could they be? It turns out they’re a measurement called a “synfig unit.” By default a lot of the measurements in Synfig are set to these units by default. The image area is one of the few places where you can’t change the measurement to pixels.

1 Synfig unit = 60 pixels

In the image above, Darth has a final render size of 1440px X 1080px. For the actual document/canvas size you would have to divide that measurement by 60, giving you 24units X 18units. The image area is broken into four quadrants. In Synfig, the origin point (0x, 0y)  is at the center of the screen instead of the upper left like all other software. Each of the four measurements start from that center point. So for your final dimensions, you need to divide the units in half.

Here’s the problem, when you put in the image area (document size) numbers, the image size (render area) numbers will change. By going back and forth multiple times and changing this info, the numbers will eventually take. To see this in action, just watch the video above. You’ll see how Darth struggles with the program.

Were my files a mess?

I opened my files expecting the worst, but I actually unwittingly averted danger. Early on when I was working in Synfig, I changed the setup settings (file/setup) so that every time I launch a new project file it will be 1920X1080. The software took that info and dropped in the correct image area (document/canvas size) and image size (render area). It is a problem though for anyone using the software if you don’t know to use setup and you’re going into properties instead.

Changing Synfig to open up a new document every time in a certain size seems to circumvent craziness
Changing Synfig to open up a new document every time in a certain size seems to circumvent craziness (file/setup)

 

I would have assumed that image size was the document/canvas size. I never would have imagined that it was the final render area in a million years. In all other software programs the render size and project size are in two exclusively different parts of the program. Never have I seen the final render size affect the actual document/canvas size. It’s so weird.

Having the image area (document/canvas size) be in Synfig units is ridiculous. Who would ever know that’s what they are or that one unit is the equivalent of 60 pixels? And even if you do change it to the right size, it will arbitrarily change the image size (render area)? Kick it a few times to make it stick? This is so weird.

And why can’t the properties dialog be set up exactly like the setup dialog box? I think that would be the easiest fix that would make the most sense.

Why is this so important to fix?

Setting up your file should be basic and easy to understand. It shouldn’t be hidden in cryptic units or wonky settings that change on a dime as you type them in. This is the front door of the software. If a user is turned off by the front door, we’ll most likely never get them to come inside and hang out. Having the individual document settings look and act like the Synfig setup dialog would be ideal.

Examples of how other animation software tackles canvas size and render size settings

Please note for any wonderful programs that all other programs do not mix the render size with the project size and that they are in two totally separate areas.

Toon Boom Studio canvas/document settings
Toon Boom Studio canvas/document settings
Toon Boom Studio render settings (click to enlarge)
Toon Boom Studio render settings (click to enlarge)

 

 

Toon Boom Animate Pro document/canvas settings
Toon Boom Animate Pro document/canvas settings
Toon Boom Animate Pro render dialog
Toon Boom Animate Pro render dialog
Flash document/canvas settings (click to enlarge)
Flash document/canvas settings (click to enlarge)
Flash render settings. (Click to enlarge.)
Flash render settings. (click to enlarge)
Anime Studio Pro document/canvas settings (click to enlarge)
Anime Studio Pro document/canvas settings (click to enlarge)
Anime Studio Pro render settings
Anime Studio Pro render settings

 

 

 

 

 

 

Comments: 1

Your email address will not be published. Required fields are marked with *

  1. I was as surprised as you were that synfig works like this. Hopefully they’ll have that fixed by the next release. I don’t think I want to spend time going between the image size and image area sections until the values settle *or* calculated the image span every time I work in new dimensions. Besides, a pixel is a standard unit, there’s no reason to expose users to internal units that nobody really cares about except synfig code.