How to fit the keyframes of an object into the new Frame Range, perfectly?

I want to edit the Frame Range in my scene from 0 - 2000 to 0 - 1000, that means I will have to resize the keyframes correspondingly to fit into that 1000 frames, so that the animations and movements don’t get stretched out.

First question, how do I do this, easily?

Second question, if the only way to do that is to resize the keyframes in Timeline, then here’s my problem, I intended to simply click an object to expose all keyframes of it in Timeline and then scale them, but, Timeline displays keyframes in a very limited way, to see the keyframes of a node, you have to click that node, but I keyframes literally everywhere, I can’t keep track of everything.
So, how do I click into an object and then see ALL keyframes that are attached to it, regardless of where the keyframe were assigned?

Thank you!

Let me give an example to make sure I understand. You were animating at 60fps, now you want to render at 30fps, so you’ll have half as many frames, but you want the same animation?

The easiest way to do this is with time stretching in properties/output. Set the “new” value equal to half of the old value.

The second easiest way to do this is with a custom framerate (you can still specifiy one of the typical numbers) which allows you to set a “base” frame count. If you go from 60fps to 30fps base 2, it’ll render 30 fps, reading every other frame.

Going the other way, setting a “base” lower than 1, isn’t a good idea, because it won’t read subframes when doing that-- if you use a base of 0.5, you’ll just get frame, then duplicated frame, no differences. And doing either of these with animated textures/movies isn’t a good idea, because they don’t get retimed doing that (but they don’t get retimed via any other method either.)

Not sure on an object by object basis, but if you want to scale everything, disable “only show selected” on timeline, and it’ll show you all keyframes for everything that’s not hidden (and not in a hidden collection). So then you can scale everything at once. Including keyframes for things like shader nodes.

1 Like

Thank you!

Here’s my solution while waiting for your answer:

  • Dope Sheet is the best for the job, Timeline and Graph Editor aren’t as good because Dope Sheet can display and edit all keyframes, even the ones that Timeline and Graph Editor can’t (move or scale). And remember to disable Only Show Selected option, as you suggested.
  • To scale and average the keyframes into the new Frame Range, open Dope Sheet, select everything by pressing A, place the 2D Cursor at frame 0, then scale. In my practical case, 30 FPS down to 20 FPS means decreasing 1/3 times of the FPS, then when scaling, type 2/3 and all the keyframes fit perfectly into the new Frame Range.