Animating Motion: timing, spacing, and weight
Learning objectives
- Learner can control timing and easing through frame counts between poses
- Learner can give motion weight and life with squash-and-stretch, arcs, anticipation, follow-through, and overlapping action
- Learner can stage an action so it reads clearly to an audience
Capstone — one whole task that evidences the objectives
Animate a short bouncing/moving-character clip (hand-drawn or coded) that demonstrably applies the core principles: timing via frame count, slow-in/slow-out easing, arcing motion paths, squash-and-stretch for weight, anticipation before the main action, and follow-through/overlapping action after it — all staged to read at a glance.
Prerequisite modules
This module builds toward one whole task: a short clip of a bouncing ball or simple character that feels alive rather than mechanical. In a live-coded visual set — sprites lerping across a projection, audio-reactive shapes pulsing to a kick — the difference between “screensaver” and “performance” is almost entirely these classical animation principles. The audience never sees your easing curve, but they feel it.
Start supported: take a linear two-pose bounce (given as a starter sketch or flipbook template) and change only the frame count between poses, watching how the same trajectory reads as heavy or light. Then redistribute those frames toward the key poses — the slow-in/slow-out drill — until the motion stops looking robotic. These two moves, timing by frame count and easing by spacing, are the automaticity drills: repeat them until adjusting feel is reflexive, because everything else layers on top. Next, bend the path into an arc, deform the shape on impact with squash-and-stretch, add a small preparatory crouch before the leap (anticipation), and let a secondary part — a tail, a trailing particle — settle late (follow-through and overlapping action).
Each required atom gates the capstone directly: the brief explicitly asks for every one of these principles, and the final staging pass — one clear focal action, readable at a glance — is what turns a checklist of techniques into a statement. The supporting atom on repetition as elementary rhythm enriches the work: once your bounce loops, its repetition becomes compositional force, a bridge toward rhythmic, music-synced motion in later modules — worth reading, but not needed to land this capstone.
Runnable examples
Generated from the context/ instrument corpus by concept (redistributable idioms only). Do not edit — regenerate with gen-module-examples.mjs.
oscillation
let y = height/2 + sin(frameCount * 0.05) * 100
p5live-0004 · CC0-1.0
float rings = abs(sin(length(uv)*20.0 - u_time*2.0));
glsl-0039 · public-domain
easing-curve
x = lerp(x, targetX, 0.1)
p5live-0032 · CC0-1.0
immediate-mode-draw
function draw(){ background(0); circle(width/2, height/2, 200) }
p5live-0002 · CC0-1.0
noise-drift
let x = noise(frameCount*0.002)*width, y = noise(frameCount*0.003)*height
p5live-0007 · CC0-1.0
Atoms in this module
Required — these gate the capstone
Supporting — enrichment, not gating
Part of curricula
- Live Visualist — zero to performing live-coded & generative visuals — Generative canvas — colour, motion, and Hydra live-coding required
- Shader Artist — real-time GPU craft to a demoscene-grade visual — Raymarching and sculpting SDF worlds recommended
- VJ — visual performance with projection, light & video — Generate & compose: build your own look recommended
Unlocks — modules that require this one