dalboris / vpaint

Experimental vector graphics and 2D animation editor

Home Page:http://www.vpaint.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Timeline scaling

hollunder opened this issue · comments

commented

I am not a graphics artist, I do not know how this is usually done.
Here is the use case I have in mind:

Assuming you have an animation that you are satisfied with, but it is too short.
What I could do now is to decrease the FPS, with the result of making the animation more jerky.
If I want to keep the FPS, then I would have to extend the timeline and manually move all key frames and re-create the interpolation (which currently may or may not work...).
IMHO there should be a way to automate this process.

I realize that upscaling by whole numbers is easy but pretty much everything else will require approximations and there will be corner cases when downscaling (what about keyframes that would be deleted if you do it naively). So this probably requires some more thought but could be considered when rewriting the timeline.

Since you're mentioning you're not a graphic artist, may I ask what is your background? (math, CS, other, student, professional?)

Yes, you are totally right, and you have nailed down the issues with downscaling. Most animation programs provide this type of time scaling, where you can select multiple keyframes in the timeline, and you can drag-and-drop to offset in time, and scale them to change the speed. It's like manipulating a bounding box but in the time dimension. Eventually, VPaint will have that too, it's an important feature. Here is how it's done in Maya: https://www.youtube.com/watch?v=uMMXn6E2StM

The math of scaling is trivial, but indeed there's the issue that after scaling, the keyframe "times" may not be whole numbers anymore. Typically, animation programs round up to the closest whole number. In case of conflicts (two keyframes rounding to the same whole number), they would either arbitrarily delete one of them, of merge them, averaging the values. In the case of VPaint, this kind of deletion or averaging is harder to do, because keyframes are not just single values, but complex geometric entities connected in space-time in non-trivial ways. Therefore, it is actually going to be quite hard to implement.

commented

Mostly CS and philosophy student, a bit audio, a bit game design but generally jack of all trades. I like to do things myself. At the moment I'd like to use VPaint for an intro for a youtube playlist. I was thinking of using it also for games, but that seems unlikely atm., in part because of how hard more detailed vector art would be i Vpaint, but also because my favorite game engine does not natively support SVG. I can see me using it for game intro videos.

Since at the moment I dabble in making youtube videos I am considering making a little Vpaint tutorial, once I know it well enough. There are very few and they are not extensive. Sadly there is another program called vpaint that comes up a fair bit more on youtube.
Well, I dabble in a lot of things, we'll see what comes out of it.