Animating in Blender: Changing the frame rate should have the option to preserve animation timing

The issue:
If you have an animation with the duration of 2 seconds at 30 fps and you change the framerate to 60 fps, Blender will keep the number of frames in the animation, changing only the playback rate. Meaning your animation that used to be 2 seconds is now 1 second long.
This makes sense in a straight forward way, but it’s not ‘smart’ in an animation workflow way of thinking.

Most other animation softwares (such as After Effects, 3ds Max, Maya, etc) preserve the animation timing when changing the frame rate. So if you have a 2 seconds animation at 30 fps and change the framerate to 60 fps, the animation will still be 2 seconds long, it just now will have twice as many frames.
I’m not mentioning other softwares to make a “that’s the standard” type of argument. I’m not saying that’s how it should be done just because other softwares do it. My argument is that most other softwares do it this way because it’s more useful most of the time.

From an animator’s point of view, this is what we want 99% of the times we change the framerate. If I animate a scene at 24 fps and then realize I need it at 30 fps, I’ll almost always want to preserve the timing of the animation I have already created.
In Blender we have to use the “time remap” function or scale all the keyframes in the animation to match the new frame rate, but that’s a messy extra step.

So in my opinion there should at least be the option to preserve timing when changing frame rate. In other words, the option to have Blender automatically recalculate the scaling of all the keyframes in the animation to keep the timing intact when changing the frame rate, like all reasonable animation softwares do.

6 Likes

I to have had this moment when i wanted to change from 24 fps to 60 because i forgot that 24 was on by default, only after i already keyframed a lot of frames.

So I’m all for adding a “Smart” change function

1 Like

Until such an option will be implemented (and if it will), something that might help:

  1. Go to the start of the animation and select all the keyframes (press “A” with mouse on timeline).
  2. Scale with the *needed amount (“S” with mouse on timeline, then input the amount)

*needed amount => 60/24 = 2.5 (to go from 24 frames to 60 frames).

This way you maintain your animation time and you can continue your keyframing.

1 Like

Thanks… As I said in the original post, I know the work-arounds. The point of my post is that in my opinion Blender should do it automatically (or at least should have the option to do it automatically) because it’s just the way professionals expect animation and editing softwares to behave.

4 Likes

Just use the time-remapping option, and change the end-frame number. For example, say the original frame rate was 25, leave it at that, set the time remap to 25:60, and calculate the new end-frame number as 60÷25× the old one, and now your animation will be rendered at 60fps.

My batch-rendering script (part of the render-useful collection) does this for you.

And then you have to do a simulation and the time scale is completely off…

Look, as I said in my original post, I know how to do it, I’m not here looking for help on how to properly change the frame rate of an animation. This is not what this forum is for.
I’m just here to suggest to the devs that it would be a good feature to have Blender do it properly without needing the extra steps, just like every other animation software does. I don’t know what is hard to understand about that.

3 Likes

Yes please. I really want this to come to blender… would be really helpful.

1 Like