TA Toolbox Home / TA Glossary

BlendShape (Morph Target)

2026-08-27

What is BlendShape

BlendShape (also called Morph Target) is an animation technique based on vertex interpolation. It linearly interpolates between multiple pre-sculpted target shapes to change the vertex positions of a mesh in real time, producing smooth deformation effects. BlendShape is particularly suitable for subtle, localized deformations like facial expressions and lip-sync, complementing skeletal animation.

Working Principle

BlendShape requires a base shape and multiple target shapes. Each target shape defines vertex offsets relative to the base shape. The final vertex position is computed as:

`V_final = V_base + Σ (wi * ΔVi)`

where ΔVi is the vertex offset of the i-th target shape and wi is the blend weight for that target. Weights are typically between 0 and 1 but can exceed this range for exaggerated effects. All targets share the same topology (vertex count and triangle connectivity).

Difference from Skeletal Animation

  • **Skeletal Animation**: Drives vertices indirectly through hierarchical bone transforms, suitable for large rigid motions like limbs.
  • **BlendShape**: Directly manipulates vertex positions, suitable for fine surface deformations like facial muscle movements, wrinkles, etc.

They are often used together: skeletal animation controls head rotation and body movement, while BlendShape controls facial expressions.

Application Scenarios

Facial Animation

BlendShape is the standard technique for facial expressions in games and films. Typically dozens of expression targets are created, such as smile, frown, blink, open mouth, etc., combining weights to produce rich expressions.

Lip Sync

Create mouth-shape BlendShapes corresponding to phonemes, and blend them in real time as the character speaks to achieve automatic lip-sync animation.

Object Deformation

Can be used for non-character objects, such as car crash deformation, cloth wrinkles, muscle bulges, etc.

Implementation Methods

Creating in DCC Software

In software like Maya, Blender, 3ds Max, duplicate the base mesh, sculpt the target shape, and export as BlendShape or Morph Target. These tools support weight painting and animation keyframes.

Using in Game Engines

Unity and Unreal both support BlendShapes (Unity calls them BlendShapes, Unreal calls them Morph Targets). Engines can recognize and store BlendShape data upon import, and weights can be controlled via animation curves.

GPU Computation

BlendShape calculations are typically done in the vertex shader. Vertex data includes base position, multiple target offsets, and corresponding weights; the shader computes the weighted sum. For many BlendShapes, compute shaders or combining passes can optimize performance.

Advantages and Limitations

**Advantages**:

  • Can represent very fine deformations, not limited by bone structure.
  • Intuitive art workflow: just sculpt target shapes.
  • Compatible with skeletal animation, can be layered.

**Limitations**:

  • Each BlendShape requires storing full vertex offset data, consuming more memory, especially for high-poly models.
  • Only linear interpolation; complex non-linear deformations may need more targets.
  • Difficult to handle topology changes (e.g., mouth opening causing topology change); usually requires consistent topology.

Data Compression and Optimization

Because BlendShape data is large, compression techniques are common:

  • Store only vertex offsets that change, ignoring static vertices.
  • Use lower precision floats (e.g., half precision) for offsets.
  • Pre-compute combined results for frequently used BlendShape combinations.

Practical Tips

  • Plan number of BlendShapes reasonably to avoid memory explosion.
  • Use symmetry mirroring to reduce production time.
  • Use masking or localized BlendShapes in engines to reduce computation.

FAQ

Are BlendShape and Morph Target the same concept?

Yes, BlendShape is the term in Autodesk Maya, Morph Target in Unreal Engine, but the principle is the same: vertex interpolation for deformation.

Where can BlendShapes be used?

Commonly for facial expressions, lip-sync, muscle bulges, object deformation, etc. Any place requiring fine vertex-level deformation can consider it.

Which uses more memory, BlendShape data or skeletal animation data?

Usually BlendShape data uses more memory because each target shape stores a full array of vertex offsets; skeletal animation only stores transforms of a few bones. So control BlendShape count.

Can BlendShapes be used simultaneously with skeletal animation?

Yes. After skinning, apply BlendShape deformations, or vice versa. Typically skeletal skinning is applied first, then BlendShape offsets, but order can be adjusted as needed.

How to create BlendShapes?

In DCC software (like Maya, Blender), duplicate the base mesh, sculpt the target shape, then use BlendShape tools to associate with the base mesh. Preserve BlendShape information when exporting to game engines.