Animation of Deformations

Animating an Object/Material, is not the only thing you can do in Blender. You can change, reshape, deform your objects in time!

There are many ways of achieving this actually, and one technique is so powerful and general there is a full chapter for it: Character animation. The other techniques will be handled here.

Absolute Vertex Keys

Relevant to Blender v2.31

VertexKeys (as opposed to Object keys, the specified positions of objects) can also be created in Blender; VertexKeys are the specified positions of vertices within an Object. Since this can involve thousands of vertices, separate motion curves are not created for each vertex, the traditional Key position system is used instead. A single IPOCurve is used to determine how interpolation is performed and the times at which a VertexKey can be seen.

VertexKeys are part of the Object Data, not of the Object. When duplicating the Object Data, the associated VertexKey block is also copied. It is not possible to permit multiple Objects to share the same VertexKeys in Blender, since it would not be very practical.

The Vertex Key block is universal and understands the distinction between a Mesh, a Curve, a Surface or a Lattice. The interface and use is therefore unified. Working with Mesh VertexKeys is explained in detail in this section, which also contains a number of brief comments on the other Object Data.

The first VertexKey position that is created is always the reference Key. This key defines the texture coordinates. Only if this Key is active can the faces and curves, or the number of vertices, be changed. It is allowed to assign other Keys a different number of vertices. The Key system automatically interpolates this.

A practical example is given below. When working with VertexKeys, it is very handy to have an IPO Window open. Use the first Screen from the standard Blender file, for example. In the IPO Window, we must then specify that we want to see the VertexKeys. To do this use the IPO type Menu Button and select Vertex. Go to the 3DWindow with the mouse cursor and press IKEY. With a Mesh object selected and active. The "Insert Key" menu has several options, the latter being Mesh. As soon as this has been selected, a new dialog appears (Figure 1) asking for Relative or Absolute Vertex Keys.

Figure 1. Insert Vertex Keys Menu.

We will choose Absolute Keys; a yellow horizontal line is drawn in the IPO Window. This is the first key and thus the reference Key. An IPO Curve is also created for "Speed" (Figure 2).

Figure 2. Reference Key and Speed IPO.

TipVertex Key creation
 

Creating VertexKeys in Blender is very simple, but the fact that the system is very sensitive in terms of its configuration can cause a number of 'invisible' things to happen. The following rule must therefore be taken into consideration.

As soon as a VertexKey position is inserted it is immediately active. All subsequent changes in the Mesh are linked to this Key position. It is therefore important that the Key position be added before editing begins.

Go a few frames further and again select: IKEY, Mesh (in the 3DWindow). The second Key is drawn as a light blue line. This is a normal Key; this key and all subsequent Keys affect only the vertex information. Press TAB for EditMode and translate one of the vertices in the Mesh. Then browse a few frames back: nothing happens! As long as we are in EditMode, other VertexKeys are not applied. What you see in EditMode is always the active VertexKey.

Leave EditMode and browse through the frames again. We now see the effect of the VertexKey system. VertexKeys can only be selected in the IPO Window. We always do this out of Edit Mode: the 'contents' of the VertexKey are now temporarily displayed in the Mesh. We can edit the specified Key by starting Editmode.

There are three methods for working with Vertex Keys:

While in EditMode, the Keys cannot be switched. If the user attempts to do so, a warning appears.

Each Key is represented by a line which is drawn at a given height. Height is chosen so that the key intersects the "Speed" IPO at the frame at which the Key is taken.

Both the IPO Curve and the VertexKey can be separately selected with RMB. Since it would otherwise be too difficult working with them, selection of the Key lines is switched off when the curve is in Edit Mode. The channel button can be used to temporarily hide the curve (SHIFT-LMB on "Speed") to make it easier to select Keys.

The Key lines in the IPO Window, once taken, can be placed at any vertical position. Select the line and use Grab mode to do this. The IPO Curve can also be processed here in the same way as described in the previous chapter. Instead of a 'value', however, the curve determines the interpolation between the Keys, e.g. a sine curve can be used to create a cyclical animation.

During the animation the frame count gives a certain value of the speed IPO, which is used to chose the Key(s) which is/are to be used, possibly with interpolation, to produce the deformed mesh.

The Speed IPO has the standard behaviour of an IPO, also for interpolation. The Key line has three different interpolation types. Press TKEY with a Key line selected to to open a menu with the options:

Figure 3 shows a simple Vertex Key animation of a cylinder. When run the cylinder deforms to a big star, then deforms to a small star, then, since the Speed IPO goes back to 0 the deformation is repeated in reverse order.

Figure 3. Absolute Keys.

Some useful tips:

Curve and Surface Keys

As mentioned earlier, Curve and Surface Keys work exactly the same way as Mesh Keys. For Curves, it is particularly interesting to place Curve Keys in the bevel object. Although this animation is not displayed real-time in the 3DWindow, it will be rendered.

Lattice Keys

As soon as one Key is present in a Lattice, the buttons that are used to determine the resolution are blocked.