Can modifiers such as “Subdivision” and “Array” be “animated”?

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?

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:

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.
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:

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.

• Thanks for setting me straight there. I realize I was wrong about that one. – A Wild RolandiXor Jun 9 '13 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.

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.

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

context.scene.frame_current

• By the way, in drivers, you can just use frame for the frame number. – wchargin Aug 17 '13 at 17:55