Wobble / Jiggle
A decaying oscillation that makes an object feel soft, springy, or alive.
Examples
Captured from this page's own interactive demo below.
Overview
Wobble (or jiggle) rocks an object back and forth around a rest position — usually a rotation or scale oscillation — with the amplitude decaying over time until it settles, like a plate spun on a table slowing down.
It works because almost nothing rigid actually behaves like it's welded in place; a slight, decaying wobble after being touched, dropped, or landed on reads as material softness and physical presence rather than a lifeless prop.
It's a lightweight way to make idle or secondary motion (a tree after being hit, a character's ears, a stack of coins after landing) feel like it has believable physical follow-through, without full physics simulation.
Interactive Demo
Use Cases
Best Practices
Do
- ✓Decay the amplitude every oscillation (multiply, don't subtract) so it settles smoothly rather than stopping abruptly.
- ✓Pick a pivot point that matches the object's implied mass distribution (base of a tree, top of a hanging sign).
- ✓Trigger it from real events (landing, being hit, being picked up) rather than looping it constantly — constant wobble reads as broken, not alive.
Don't
- ✕Don't apply the same wobble frequency/amplitude to objects of very different implied size — a coin and a boulder shouldn't jiggle identically.
- ✕Don't wobble something the player needs to read precisely (a UI value, an aiming reticle).
- ✕Don't let wobble affect collision/hitboxes — keep it purely visual.
Common Mistakes
- ⚠Using a fixed-duration tween instead of a genuinely decaying oscillation, so it looks like it 'stops' rather than 'settles'.
- ⚠Forgetting to reset rotation/scale to the exact rest value at the end, leaving a tiny permanent offset.
- ⚠Layering wobble on top of another rotation-driven animation (e.g. a spin) without composing them, causing one to override the other.
Implementation
Paste this into your AI assistant (Cursor, Copilot, Claude) to add the effect to your project.
Add the "Wobble / Jiggle" game-feel effect to my project: A decaying oscillation that makes an object feel soft, springy, or alive.
How it works: Wobble (or jiggle) rocks an object back and forth around a rest position — usually a rotation or scale oscillation — with the amplitude decaying over time until it settles, like a plate spun on a table slowing down.
Guidelines:
- Decay the amplitude every oscillation (multiply, don't subtract) so it settles smoothly rather than stopping abruptly.
- Pick a pivot point that matches the object's implied mass distribution (base of a tree, top of a hanging sign).
- Trigger it from real events (landing, being hit, being picked up) rather than looping it constantly — constant wobble reads as broken, not alive.
Avoid:
- Don't apply the same wobble frequency/amplitude to objects of very different implied size — a coin and a boulder shouldn't jiggle identically.
- Don't wobble something the player needs to read precisely (a UI value, an aiming reticle).
- Don't let wobble affect collision/hitboxes — keep it purely visual.
Implement the effect in whatever engine/stack the project already uses and follow its existing code style. Wire it up where it makes sense.References
- The Illusion of Life: Disney Animation — Frank Thomas & Ollie Johnston (book)
Comments
…