20
$\begingroup$

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?

$\endgroup$
18
$\begingroup$

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.

$\endgroup$
  • $\begingroup$ Thanks for setting me straight there. I realize I was wrong about that one. $\endgroup$ – A Wild RolandiXor Jun 9 '13 at 23:09
22
$\begingroup$

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.

$\endgroup$
12
$\begingroup$

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

context.scene.frame_current

Reference: http://wiki.blender.org/index.php/Doc:2.6/Manual/Animation/Editors/Graph/Drivers

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

protected by cegaton Jun 30 at 22:21

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

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