10
$\begingroup$

Most 2D animation software can render the animation 'frame-by-frame'. There are no smooth transitions between each frame, and each frame after is usually blank, and the artist re-draws the scene, a bit different. The last can also sometimes be altered for a new frame. It will be like an animated lego stop-motion like film:

enter image description here

My goal is to be able to have my scene all set in frame one and then duplicate that scene to the next frame to be altered and to not 'smooth' the animation frames.

Question:

Is something like a stop-motion (no actual footage) possible with CGI in Blender? If so, how do I go about creating this environment to animate with?

$\endgroup$
  • 2
    $\begingroup$ Do you have an issue with just changing the frame rate to something like 10 FPS and animating as normal, only with keyframes every frame? $\endgroup$ – Scott Milner Jan 18 '18 at 3:02
  • $\begingroup$ I need to animate something quick and would like to not mess with the 'smooth transitions' (if that's what it's called) because, for me, it takes more time making sure every part of the smooth animation looks accurate. With the stop-motion animation, that's not a problem, (and yes, I will need to turn down the FPS), because I will not have to match everything perfectly. $\endgroup$ – Akados Jan 18 '18 at 3:08
  • 1
    $\begingroup$ I'm not sure what the problem is. If you have a keyframe set every frame, like you would in stop-motion there won't be any interpolation (that's what it's called). $\endgroup$ – Scott Milner Jan 18 '18 at 3:10
  • 1
    $\begingroup$ set the interpolation to constant. See: blender.stackexchange.com/questions/57779/… To change the default interpolation use the system preferences. $\endgroup$ – cegaton Jan 18 '18 at 3:17
  • 1
17
$\begingroup$

The default interpolation between keyframes is bézier, which will make smooth motions that start from 0, accelerate and decelerate before stopping or changing direction.

enter image description here

Interpolation can be changed in the curve editor (or the dopesheet editor) to be constant, meaning that there will be no in-between transformation between keyframes: Elements will remain unchanged until the next keyframe.

enter image description here

To change interpolation, select the keyframes, press the T key and select constant.

To change interpolation permanently, open the system preferences (Ctrl+Alt+U), and in the editing section set the interpolation you want to use.

enter image description here

$\endgroup$
  • 6
    $\begingroup$ I'd add that one can select the curve at any two or more points and press T to change the interpolation. $\endgroup$ – iKlsR Jan 18 '18 at 5:18
12
$\begingroup$

Usually, the animations made in Blender might seem smooth. But they're not! Actually, every animation is like a stop-motion movie: at every frame, something changes a little bit, creating the illusion of movement.

Usually, every frame only takes 1/30 of a second, so you can't actually see individual frames, just motion that appears to be smooth. If you lower the number of frames per second (fps), as other users have suggested, you will start to see individual frames, giving you the blocky-movement effect you seem to be looking for.

In Blender, it is easy to achieve this. In the scene tab of the properties panel, open the Dimensions section. You will see something like this:

Screenshot

Now, under Frame Rate, select "Custom". Since the original fps was 24, we'll divide it by 10 and enter 2. However, the animation will appear too slow, because we've reduced the fps. The solution? We'll re-map the time! Under time remapping, set "New" to 10. This will speed up the animation 10 times, because 100/10 = 10. You also have to divide the start and end frames by 10, or your animation will be too long. So, in our example, we should have this:

Settings

Your animation will now look blocky, like stop-motion.

Here is an example:

24 fps (original)
24 fps

2 fps
2 fps

In comparison to cegaton's answer, this method has advantages and disadvantages:

  • Advantage: this technique will significantly reduce the render time, because every frame is only rendered once, and not 10+ times.
  • Advantage: You don't need to worry about individual keyframes, so this method is relatively simpler.
  • Disadvantage: you will have no control over the length of individual frames. They will all be the same length (unless you change that in post-processing, which might be tedious.
  • Disadvantage: you can't have smooth animation together with blocky animation in one scene.
$\endgroup$
  • $\begingroup$ I do like this method as well, I may use this one in the future. $\endgroup$ – Akados Jan 18 '18 at 4:10
  • 4
    $\begingroup$ As an added note, you should disable motion blur. $\endgroup$ – cegaton Jan 18 '18 at 4:21
  • 5
    $\begingroup$ Advantage: this technique will significantly reduce the render time, because every frame is only rendered once, and not 10+ times. You mean blender is not smart enough to render once, output 10+ times? $\endgroup$ – RobIII Jan 18 '18 at 9:45
  • 3
    $\begingroup$ @RobIII, I meant that, if you use cegaton's technique, Blender will render the same setup multiple times, because most frames are the same as the previous frame. Blender itself is not smart enough to recognize duplicate frames (I think), but I suppose you could write a script that only renders the frames that have a keyframe. $\endgroup$ – Reinis Mazeiks Jan 18 '18 at 13:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.