Jump to content

Morph target animation

From Wikipedia, the free encyclopedia
(Redirected from Per-vertex animation)
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.
An arbitrary object deformed by morphing between defined vertex positions.

Morph target animation, per-vertex animation, shape interpolation, shape keys, 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

[edit]

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. Early 3D videogames, such as Quake[3] 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

[edit]

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. [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"[citation needed]. 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.

See also

[edit]

References

[edit]
  1. ^ a b c Liu, Chen (2006). "An Analysis of the Current and Future State of 3D Facial Animation Techniques and Systems" (PDF). pp. 12–14. Retrieved January 30, 2011.
  2. ^ Glanville, Steven (2006). "Anim8or Manual, Chapter 3 Object Editor". Anim8or. Retrieved January 30, 2011.
  3. ^ Henry, David (December 20, 2004). "MDL file format". Retrieved June 16, 2019.