home/ modules/ procedural-character-animation-in-shaders

Procedural character animation with animation-principle signals

  • learner can apply the 12 animation principles and squash-stretch volume preservation to procedural motion
  • learner can shape parametric bounce signals with parabolas and self-power contact curves
  • learner can add secondary inertial lag and animate SDF blends while keeping textures locked to the rest pose

Animate a bouncing SDF character whose squash-stretch, contact timing, and secondary lag are driven by parabola signals, with the smooth-blend radius reacting to motion and textures tracking a rest-pose UV.

This module is where a static SDF sculpt becomes a performer. In a live-visuals set — projected behind a live-coded track, reacting on the beat — a character that just translates up and down reads as dead weight; one that squashes into the floor, lingers, launches, and lets its ears trail behind reads as alive. The whole task is a bouncing SDF character whose every motion cue comes from cheap parametric signals rather than keyframes or physics, which is exactly what a per-frame fragment shader can afford.

The arc starts supported: take the character you built in the SDF sculpting prerequisite and drive its height with the normalized parabola from “a normalized parabola 4t(1−t) is a clean parametric signal for bounce” — one signal, one axis. Then layer craft onto that spine: use the volume-preservation rule to turn vertical compression into believable impact instead of deflation, sharpen the ground dwell with the self-power contact-curve trick, and give appendages inertial mass by re-evaluating the same signal with a small time offset. Two subtler moves complete the illusion — driving the smooth-minimum blend radius from the motion scalar so limbs don’t melt into the body at pose extremes, and inverting the animation to sample textures at the rest pose so patterns stop swimming across the skin. The capstone then asks you to assemble all of these unsupported.

Every required atom gates the capstone directly: the 12-principles checklist is your diagnostic when the bounce feels robotic, and each signal-shaping and SDF technique corresponds to a named capstone behavior. The supporting sine/iTime atom enriches — it is the simpler oscillator you already know, useful for ambient motion, but the capstone’s contact timing specifically demands the parabola family.

Atoms in this module

Required — these gate the capstone

The 12 principles of animation provide a checklist of techniques that make procedural characters feel alive
Fact L1 Foundations G
Squash-and-stretch animation preserves volume by inversely scaling perpendicular axes
Concept L2 First instrument G
A normalized parabola 4t(1−t) is a clean parametric signal for bounce, squash, and stretch animations
Concept L2 First instrument G
Raising an animation curve to a power of itself creates a non-linear 'stay down longer' contact simulation
Concept L3 Craft G
Delaying a body's animation signal by a small time offset gives secondary parts inertial lag
Concept L2 First instrument G
Animating the smooth-minimum blend radius with the motion signal adapts blending to the character's pose
Concept L3 Craft G
Animated SDF characters recover rest-pose coordinates via an invertible animation so textures track the surface rather than swimming
Concept L3 Craft G

Supporting — enrichment, not gating

Animating shaders with the sine function and iTime creates smooth, looping motion without discontinuities
Concept L2 First instrument G