Morph target animation

From Infogalactic: the planetary knowledge core
Jump to: navigation, search
File:Sintel-face-morph.png
In this example from the open source project Sintel, four facial expressions have been defined as deformations of the face geometry. The mouth is then animated by morphing between these deformations. Dozens of similar controllers are used to animate the rest of the face.
File:Morph-puzzle.png
An arbitrary object deformed by morphing between defined vertex positions.

Morph target animation, per-vertex animation, shape interpolation, or blend shapes[1] 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 (or "blend") between the base shape and one or several morph targets. [2] 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. [1]

Not all morph target animation has to be done by actually editing 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 implement bones 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 he or she 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. [1] 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".

See also

References

  1. 1.0 1.1 1.2 Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.

External links