Overview
Squashes, bulges, waves and wobbles a path. A rubber ball flattening on impact and stretching on the way up, a slime breathing, a flag or grass rippling — exaggerated deformations like these come from a single parameter instead of moving points one by one. The basic workflow is attaching an animation to Amount or Phase with the 🎞️ button.
Usage tips
- Typical wiring: shape generator → Path Deform →
path_fill/path_stroke→ image. The shape stays continuous until rasterization, so the outline is redrawn crisply every frame. - Rubber-ball squash: Mode = Squash, Anchor = Bottom, Preserve Volume ON. Keyframe Amount to dip negative only at the contact frames for an exaggerated bounce.
- Traveling wave: Mode = Wave and connect a looping motion to Phase. Phase 0-1 is exactly one cycle, so the loop is seamless. Waves is how many waves fit across the path (more = wigglier). With Pin Ends ON (default) the endpoints stay put and only the middle waves — grass and flags.
- Height-map follow-through: connect a height map built on the same canvas
to
Mapand it comes out with the same deformation applied. If your shading and shadows are derived from that map, highlights follow the squash automatically. - Wave and Jitter subdivide automatically to the needed resolution. Raise Subdivide only when a strong bulge looks angular.
Common pitfalls
- Nothing moves: Amount is still 0, or the motion/keyframe driving it has too small a range.
- The shape falls apart on Wave/Jitter: the amount is too big. For pixel art, start around amount 2-4 px (fine waves no longer break the shape thanks to automatic subdivision).
- The map is misaligned: the map must live on the same canvas (same origin and resolution) as the path. An image built on a different canvas will not share the deformation's reference frame.
Related nodes
motion/keyframe_clip— drive Amount and Phase (when and how much)path_fill/path_stroke— fill and outline the deformed pathbezier_path/multi_path_editor— author the base shapesprite_motion— whole-image movement/rotation/blink rather than deformation