# Is there a way to "calculate" speed/duration for animation?

So this video of the burning earth is one of my first (Blender) videos. I had made the quite arbitrary choice to let the earth turn in 10 seconds. It seems a little too fast ? Is there a way to "calculate" the best speed/duration for such a video ? And are there any tools in Blender to "play" with the speed of your video ? I guess I should study relevant concepts for this kind of work because now it is a bit of trial and error.

It seems a little too fast?

There is no "right speed" when it comes to animation. It all depends on what you are intending to do.

Is there a way to "calculate" the best speed/duration for such a video ?

Best (or any other superlative) is beyond the scope of this site, as there is no categorical way to answer...

But calculating the duration of an animation is not only possible, but absolutely necessary for anyone trying to express ideas through animation.

To only way to get a sense of how your animation is working out, is to pre-visualize it in real time, meaning: evaluating while playing back at a sustained pace at the target framerate.

For simple scenes you can just playback the animation on the 3D vieport at the desired target rate.

As the scene gets more complex your system might not be able to compute the transformations in real time.

As you play your scene you'll see a number on the top left of the screen that reflects the actual playback speed. If those numbers are red it means that the playback speed is not the correct one and what you are seeing is not an accurate representation of your scene.

At that point you can use a multitude of strategies to get a sense the actual pace of the aninmation:

• Visualize things in wireframe mode or bounding box.

• Do a quick render in OpenGL

• Render a low resolution file using a single simple material for the whole scene. Simplify it by reducing the numbers of subdivisions, baking all bakeable actions/surfaces/simulations. Hide objects that do not move or are irrelevant to the elements you want to evaluate. In other words, use every trick you can think of to simplify your scene and accurately evaluate it.

In short, make sure you have a good idea of what the pace of the animation is before you spend a lot of time rendering the real animation in full detail, only to find out errors that could have been prevented by pre-visualizing.

How do you modify the timing of animated objects?

The pace of animated objects is an easy formula: how much are the elements transforming over how many frames (time).

To slow something down you need to have less transformation occur on the same number of frames (time):

Or have the transformation occur over a longer period of time:

In the simplest form of animation you have a start key frame and and end keyframe. Spacing the keyframes apart in time will make the transformation slower, getting those keyframes closer together will accelerate the transformation.

See this post for more details

For complex animations where all the elements are working fine with each other, and you don't want to affect the placement of keyframes in any way, you can use the Time-Remapping tool on the "dimensions" section of the properties panel:

And are there any tools in Blender to "play" with the speed of your video ?

There are, and they should really be avoided and thought of as the absolute last resort.

Re-timing a rendered video is only going to create a new set problems. Not only will you be dealing with decompression-recompression issues, and multigeration quality loss, but even if your workflow involves real lossless formats you will be dealing with some form of spatial and temporal interpolation that blender handles very poorly.

When you are re-timing video, you are either creating new information for new frames by interpolating existing ones, or discarding/combinig frames to compress the time. Depending on how severe the changes are you'll be introducing stuttering/flicker to scene or will have issues with inaccurate motion blur.

To re-time video properly you need some form of otpical flow. Blender does not have any such tools.

There are some amazing tools out there that will allow you to re-time video like twixtor (Not cheap) or slowmovideo (open source) both require in depth knowledge to make them work correctly... Adobe Premiere, Davinci Resolve or Fusion have basic tools for optical flow

It is a bit of trial and error.

Just like life...

So to summarize:

# Try to get the rhythm of your animation before you render, not as an afterthought.

• Thanks again !! I get the message, don't mess around with the speed of the video after rendering. You say Adobe Premiere has basic tools for optical flow . What do you mean with that ?
– user13877
Commented Mar 27, 2016 at 9:43

Play Rendered Animation Speed

The default Blender video sequence player has keyboard speed controls. The menu choice in 2.77 is [Render/Play Rendered Animation]. Numpad 0-9 as an excerpt.

https://www.blender.org/manual/render/output/display.html#animation-playback

This allows you to keep your camera panel final render settings untouched. You will see the speed effect with [no] explicit screen text or graphics to confirm your choice. In the video player press [shift] to see filenames and fps frames per second. This worked for .png image sequences.

The timeline window alternate has an alternate frame range. This setting affects 3D View [play animation] and [Render/Play Rendered Animation] as well.

If you choose not to use the Blender internal playback keyboard controls, there is another alternative. Lowly recommended. A quickly created new scene with [Copy Settings] will allow you to have a second choice for playback of the rendered images sequence. Thus the Blender user can use the Camera Render panel to select a new speed and frame range for Play Rendered Animation. New Scene just to playback rendered sequence with speed or frame range changes. Thus the original scene remains intact.

A quickly created new scene with the a new VSE editor can examine any frame range of any sequence at any speed. Thus the original scene remains intact.

If you create an image sequence with Blender such an .pngs or .jpegs they can be be played back at variable FPS frames per second by changing frames rate in the render settings panel with the camera icon. Playing Back an image sequence is not a great amount of CPU Consumption. So final view may have one rate. Inspection may have another rate. Or the range of frames for inspection may be changed. This affects the playback rate from the menu for image sequence [play rendered animation].

Of course the Camera Render panel will show your current choices explicitly. You can choose to use the same scene to change settings. The Blender user must remember to set the appropriate rate for a movie final render. The techniques above eliminate the need to remember settings with the burden of new scenes.

Sometimes I watch a video slower to look for defects. Faster when I feel its too slow.

The playback of render command is printed to the console where it can be seen and copied. Thus you can issue the the command to your Operating System Console. Name separators must be inspected. \\ or \ as an example. As an example you may want to examine a certain range of frames. The Timeline window also as an alternate range of frames.

  'C:\\Program Files\\Blender Foundation\\Blender\\Blender2.77\\blender.exe -a -f 24 1.0 -s 1 -e 8 -j 1 J:\\A\\3D\\Blender\\C\\D\\E\\F\\G\\image_516_0001.png'


The Video sequence editor is capable of slowing down image playback in the same way.

If you happen to like a different speed you can then to decide what combination of scaled keyframes or different FPS will help you. If your actions are a NLA strip they can be scaled.

Yoo Toob has a speed control on screen.

• I did create an images sequence of PNG's. Where can I find the camera settings you for changing the frames per second ? Same question for VSE
– user13877
Commented Mar 26, 2016 at 23:26
• Please see edit. Commented Mar 27, 2016 at 18:24

Add your Scene to the VSE and add a Speed Control Effect Strip on top while it's selected. You can then just grab your Scene Handles to adjust its length and the Speed Control will do the magic.

And since 2.76 Blender even calculates correctly interpolated subframes of your animation to be played back propely:

Speed Effect can re-time scenes with subframe rendering.

Make sure, your Sync Mode is set to AV-Sync.

• if I play the video in VSE (AV-Sync = on) then the video is stuttering. Is this normal ?
– user13877
Commented Mar 26, 2016 at 23:02
• uhh... what is a subframe ?
– user13877
Commented Mar 26, 2016 at 23:23
• When you slow down video you need to create frames there where there are none. The stuttering you see happens when the software you are using is repeating frames instead of synthesizing new ones.
– user1853
Commented Mar 26, 2016 at 23:23
• Frames are usually constant points in time dependant on your fps setting. But when you slow down or speed up a Strip you might need to have the information of some interpolated point in time in between two original frames. These are called subframes. They help in certain circumstances like fast simulations or speed effects... Commented Mar 27, 2016 at 0:14
• no, the stuttering is there before I change the speed of the video. And the frame counter in the top left of the screen is also in red. I think the CPU of my computer is pretty fast, so what can be the cause ?
– user13877
Commented Mar 27, 2016 at 9:32

For calculating the time, say you need 60 seconds of an animation then it is 25 frames multiplied by 60 seconds giving you 1500 frames so for any real time calculations the number of frame rate multiplied by the desired time gives the exact number of frames suitable for the animation.

About the speed of animation, I have always scaled the keyframes where necessary in the dopesheet to make some parts in the animation fast or slow but that could mean adjusting other keyframes too, increasing the number of frames or even more render time than planned so it is better to always play the finished keyframed part to check out its play speed before taking more steps into animation creation.