Skip to main content

New - Morph Target Animation

In a 3D package (Blender/Maya/ZBrush):

The final frontier is generative morph targets. Why store a library of 500 expressions when a model could generate them on the fly?

Several studios are experimenting with latent morph spaces. An artist sculpts 50 base expressions. A variational autoencoder (VAE) reduces these to a 16-dimensional latent vector. At runtime, an AI model (running on a GPU thread) converts a high-level emotional state ("relieved," "suspicious," "exhausted") into a latent vector, which is then decoded back into 50 morph weights. This produces emergent expressions that were never explicitly sculpted, bridging the gap between hand-crafted art and procedural randomness.

Simultaneously, physics-integrated morphs are appearing. Rather than baking muscle jiggle, the morph targets themselves become soft bodies. Each vertex delta in a morph target stores a mass and stiffness value. When the character moves, a small physics solver (again, on GPU) updates the morph influence based on acceleration. This gives jiggle without the complexity of cloth simulation or the memory of pre-baked sequences. morph target animation new


The modern approach dismantles these bottlenecks through three revolutionary shifts:


Morph Target Animation (also known as Vertex Animation or Blend Shapes) is a technique where a 3D model is deformed by interpolating between a "base" shape and various pre-defined "target" shapes.

While commonly used for facial rigging (smiles, blinks), applying this technique to "long pieces"—such as tails, tentacles, cables, ribbons, or extended machinery—presents unique technical challenges and advantages over standard Skeletal Mesh animation. In a 3D package (Blender/Maya/ZBrush): The final frontier

At its core, a morph target is a deformed copy of a base mesh. Instead of moving bones to drive vertices, you store a second set of vertex positions. At runtime, the GPU linearly interpolates each vertex from its Base Pose position towards its Target Pose position.

The Math is simple: [ P_final = P_base + (P_target - P_base) \times t ] Where t is a weight between 0.0 and 1.0.

For complex expressions, you blend multiple targets: [ P_final = P_base + \sum_i=1^n w_i \times \Delta_i ] Morph Target Animation (also known as Vertex Animation

Old CPUs struggled to interpolate thousands of vertices per frame. Modern shaders now evaluate morph targets on the GPU. A scene can now support 20+ characters with 100 active blend shapes each, running at 120fps on a mid-range card.

  • Compression:
  • Target count management:
  • Normal/tangent handling: when blending positions, recompute or blend normals/tangents when necessary for correct lighting—either recompute in a geometry or compute blended normals stored per-target.
  • LOD strategies: reduce target count or bake morphs into animated normal maps or baked vertex animations for distant LODs.
  • Interpolation types: linear interpolation is common; use additive or corrective blending modes for predictable results.
  • Practical tip: implement a fallback where expensive GPU blending is disabled on low-end hardware and replaced with pre-baked or lower-count blends.