Morph target animation, per-vertex animation, shape interpolation, shape keys, or blend shapes is a method of 3D computer animation used together with techniques such as skeletal animation. In a morph target animation, a "deformed" version of a mesh is stored as a series of vertex positions. In each key frame of an animation, the vertices are then interpolated between these stored positions.
Technique
The "morph target" is a deformed version of a shape. When applied to a human face, for example, the head is first modelled with a neutral expression and a "target deformation" is then created for each other expression. When the face is being animated, the animator can then smoothly morph between the base shape and one or several morph targets. Typical examples of morph targets used in facial animation is a smiling mouth, a closed eye, and a raised eyebrow, but the technique can also be used to morph between, for example, Dr Jekyll and Mr Hyde. Early 3D videogames, such as Quake and Crash Bandicoot use per-vertex animation for all character animations. When used for facial animation, these morph target are often referred to as "key poses". The interpolations between key poses when an animation is being rendered, are typically small and simple transformations of movement, rotation, and scale performed by the 3D software. Not all morph target animation has to be done by actuallyediting vertex positions. It is also possible to take vertex positions found in skeletal animation and then use those rendered as morph target animation. An animation composed in one 3D application suite sometimes needs to be transferred to another, as for rendering. Because different 3D applications tend to implementbones and other special effects differently, the morph target technique is sometimes used to transfer animations between 3D applications to avoid export issues.
Benefits and drawbacks
There are advantages to using morph target animation over skeletal animation. The artist has more control over the movements because they can define the individual positions of the vertices within a keyframe, rather than being constrained by skeletons. This can be useful for animating cloth, skin, and facial expressions because it can be difficult to conform those things to the bones that are required for skeletal animation. However, there are also disadvantages. Vertex animation is usually a lot more labour-intensive than skeletal animation because every vertex position must be manually manipulated and, for this reason, the number of pre-made target morphs is typically limited. Also, in methods of rendering where vertices move from position to position during in-between frames, a distortion is created that does not happen when using skeletal animation. This is described by critics of the technique as looking "shaky". On the other hand, this distortion may be part of the desired "look". For large models, vertex animation requires significant memory and storage as the position of each modified vertex must be stored for each frame. In contrast, skeletal animation requires only the storage of bone transformations for each frame.