Skip to content
Real-Time Avatars/Learn
End-to-End|GaussianMetaHumanVideo Gen
Learn/MetaHuman/ARKit 52 Blendshapes
Level 2Drill-down concept

ARKit 52 Blendshapes

What the parent explanation assumed you knew:

You understand that iPhone face tracking provides data that drives MetaHuman expressions, but not the specifics of what data or how it maps to the face.

What this page explains:

The exact 52 blendshape parameters that ARKit extracts, what each one controls, and how they combine to create realistic facial expressions.

The Explanation

ARKit's Face Tracking uses the iPhone's TrueDepth camera (30,000 infrared dots + machine learning) to extract 52 specific blendshape coefficients at 60 FPS. Each coefficient is a float from 0.0 to 1.0.

The 52 Blendshapes by Category:

**Eyes (12 parameters):**

  • •`eyeBlinkLeft/Right` - Eyelid closure (0=open, 1=closed)
  • •`eyeLookUpLeft/Right`, `eyeLookDownLeft/Right` - Vertical gaze direction
  • •`eyeLookInLeft/Right`, `eyeLookOutLeft/Right` - Horizontal gaze direction
  • •`eyeSquintLeft/Right` - Squinting/crow's feet
  • •`eyeWideLeft/Right` - Eyes wide open (surprise)

**Brows (4 parameters):**

  • •`browDownLeft/Right` - Frown, anger
  • •`browInnerUp` - Worry, sadness (center brow raise)
  • •`browOuterUpLeft/Right` - Surprise (outer brow raise)

**Mouth (26 parameters):**

  • •`jawOpen`, `jawForward`, `jawLeft`, `jawRight` - Jaw movement
  • •`mouthClose` - Lips together (independent of jaw)
  • •`mouthFunnel` - 'O' shape (as in 'ooh')
  • •`mouthPucker` - Kiss shape
  • •`mouthLeft/Right` - Mouth shift sideways
  • •`mouthSmileLeft/Right` - Smile
  • •`mouthFrownLeft/Right` - Frown
  • •`mouthDimpleLeft/Right` - Cheek dimples
  • •`mouthStretchLeft/Right` - Stretching mouth corners
  • •`mouthRollLower/Upper` - Rolling lips inward
  • •`mouthShrugLower/Upper` - Lip shrug
  • •`mouthPressLeft/Right` - Pressing lips together
  • •`mouthLowerDownLeft/Right` - Lower lip down
  • •`mouthUpperUpLeft/Right` - Upper lip up

**Cheeks & Nose (6 parameters):**

  • •`cheekPuff` - Puffed cheeks
  • •`cheekSquintLeft/Right` - Cheek raise (smiling eyes)
  • •`noseSneerLeft/Right` - Nose wrinkle (disgust)

**Tongue (2 parameters):**

  • •`tongueOut` - Tongue protrusion (limited tracking)

How They Combine:

Expressions are additive combinations: ` Smile = mouthSmileLeft(0.8) + mouthSmileRight(0.8) + cheekSquintLeft(0.5) + cheekSquintRight(0.5) Surprise = eyeWideLeft(1.0) + eyeWideRight(1.0) + browInnerUp(0.7) + jawOpen(0.6) Disgust = noseSneerLeft(0.8) + noseSneerRight(0.8) + browDownLeft(0.4) + mouthFrownLeft(0.5) `

**Limitations:**

  • •Binary tongue tracking (out or not, no position)
  • •No micro-expressions (faster than 60 FPS)
  • •No asymmetric eye gaze (both eyes look in same direction)
  • •Occlusion causes loss of tracking (hair, hands, glasses)
  • •Fixed 52 parameters can't capture every nuance

Visual Aid

Manipulate individual ARKit blendshapes and see how they combine to create expressions.

Open interactive demo →

The "Aha" Moment

Your face has 43 muscles, but ARKit simplifies this to 52 independent 'sliders' that, when mixed, can approximate nearly any expression humans make.

Go Even Deeper

This explanation assumes you understand these fundamentals. Click to learn more:

infrared depth sensing

Level 1 fundamental

mesh deformation

Level 1 fundamental

← Back to MetaHumanView All Concepts

Learn Real-Time Avatar Technologies

Back to Research Survey