Suppose I wanted to animate an object growing out of the ground, or turning from a cube to a much smoother shape, could I animate this using modifiers and key frames?

I know I can use shape keys to achieve something similar, but modifiers would make it easier and smoother. Is this possible?


3 Answers 3


Jonathan's answer is correct. However, your original question states:

I know I can use shape keys to achieve something similar, but modifiers would make it easier and smoother.

(emphasis mine)

In fact, properties that can only have integer values (i.e., no decimals) can only be animated with constant interpolation:

Constant interpolation in the graph editor

This is, by any definition, the exact opposite of smooth.

If you really want it to be smooth, consider using a shape key!

  1. Subdivide your mesh however many times you want in Edit Mode.
  2. Add a shape key.
  3. Press Smooth Vertex in the toolbox and adjust the iteration count (10 works well for two levels of subdivision).
  4. Animate the shape key.

This will get you a nice Beziér (or linear, if you prefer) interpolation:

Beziér interpolation in the graph editor

I've prepared a video to demonstrate the difference. The first part of the video uses the shape key method, while the second part uses a modifier with the "Levels" property animated.

  • $\begingroup$ Thanks for setting me straight there. I realize I was wrong about that one. $\endgroup$ Commented Jun 9, 2013 at 23:09

You sure can! You can animate any of the values in the modifiers by Right Clicking on the field and choosing Insert Keyframe. Then insert another frame further down the timeline where you wish.

Inserting a keyframe on a modifier value

You can also insert keyframes from a value by hovering your mouse on it and pressing I, or you can remove keyframes on the current frame by pressing Alt + I.


Drivers can also be used to interactively animate Modifiers.

You right click on the Subdivision parameter that needs to be driven, add a driver and then in the Graph Editors 'Drivers' view, set up the drivers.

As you can see below, the z translation of two different empty objects is used to drive the modifier subsurf levels of two mesh objects. Only the viewport display levels are being driven. The Z location is stored in a driver variable and ten its absolute value is passed to a ceiling function so that only positive integers are generated. The ceil and abs functions are part of the math module that is automatically imported into the driver namespace.

Two Empty objects driving the subdivision levels on two different mesh objects

You can also access scene data like the current frame number like so for creating driver expressions


Reference: https://docs.blender.org/manual/en/latest/animation/drivers/index.html#drivers

  • 2
    $\begingroup$ By the way, in drivers, you can just use frame for the frame number. $\endgroup$
    – wchargin
    Commented Aug 17, 2013 at 17:55

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .