Time-based Instead of Frame-based Animation

I’ve often wondered why animation programs such as Blender and Synfig use a frame-based animation system. As far as I see it, frame’s are a limitation carried over from film/digital video capture. It’s only possible to capture data in discrete chunks using systems like this (although I have ideas for digital video capture).

In a completely computerized animation system, I don’t see why it’s not possible to specify an object/group and say go from point A to point B in x amount of time. Or have a transformation go from matrix A to matrix B in y amount of time. Such animation systems already exist in several major programming languages. A system like this would allow the final animation video to be rendered at any specified frame rate. How awesome would that be?!

I realize animating by frames seems to make things easier in a WYSIWYG environment. However, I think it would be entirely possible to implement such a system (with a fair amount of work). It would also be breaking new ground as far as I see it - perfect for an open source project to get ahead of the curve.

Anyone have any thoughts or ideas about such an approach?

Happy Holidays!!

In Synfig you’re not tied to frames. Just change the fps of your animation when you export it to video.
Other thing is that the final result is not frame based… Where would you play it?


You’ve pretty much just described how synfig currently works. :wink:

Synfig already represents all time values as a double precision floating point value. FPS can be edited on the fly. The thing is that the GUI works with the configured FPS for convenience sake. Also the output will forcibly need to be rendered as frames sooner or later.

Motion/animation is represented by storing the list of values at fixed points in time (called Waypoints on synfig) and then applying interpolation algorithms to fill the in-between.

The thing is that while interpolation works great for moving object from point A to point B, or changing a transformation matrix A to matrix B, or changing from color A to color B, etc it is much more difficult and labor intensive to interpolation a character from pose A to pose B. Specially when the character undergoes “off-plane” motion, which is difficult simulate with only 2D transforms. Unless, of course, the animator does nearly everything manually and Synfig does very little actual interpolation.

“In-plane” animation, like cutout animation, works great using interpolation.