How to Create a Bloom / Ripple Effect in Cavalry

March 5, 2026

Since publishing this, I learned that similar techniques were explored earlier by Matt White, who has done a huge amount for the Cavalry community. See the original here: Instagram. Also worth checking out his work here → YouTube (Pepko Motion).

  1. Follow Tommaso Azzarello's work
  2. Get the original scene file
  3. Follow for updates on my Cavalry Education

Apologies for pronouncing Tommaso's name completely wrong throughout this video. It's Tommaso, not Thomas.

The scene itself is inspired by a piece shared by Tommaso Azzarello on Scenery, and what I wanted to do here was slow it down and rebuild the core idea from scratch so you can actually understand what's happening under the hood.

Rather than just showing the finished scene, I walk through the structure step-by-step:

  • starting with a simple ellipse inside a duplicator
  • introducing the behaviours that create the ripple / bloom effect
  • mixing them with a behavior mixer
  • using shape time offset and stagger
  • and reconstructing the whole system so you can recreate it yourself

This kind of setup is a great example of how procedural motion design works in Cavalry. Once you understand the underlying structure, you can adapt the same technique for all sorts of generative patterns, UI animations, and abstract motion systems.

If you're learning Cavalry, scenes like this are really useful because they demonstrate a few of the core mental models:

  • duplicators as structural systems
  • behaviour-driven animation
  • controlling motion through influence rather than keyframes
  • building reusable animation rigs

Big credit again to Tommaso Azzarello for the original idea that inspired this breakdown. And Scenery.io for hosting/sharing/celebrating the community's work.

If you're exploring procedural motion design, generative animation, or trying to get more comfortable with Cavalry's duplicator workflow, hopefully this helps clarify how these systems actually work.

Timestamps

  • 00:00 Intro + credit to Tommaso Azzarello
  • 00:45 Overview of the scene structure
  • 01:19 Ellipse shading: inner shadow + multipoint gradient
  • 02:02 Path setup and the null driving the system
  • 03:24 Behavior Mixer explained
  • 05:05 Scale stagger and Shape Time Offset overview
  • 06:09 Full rebuild starts
  • 06:32 Building the background gradient
  • 07:55 Creating and shading the ellipse
  • 10:58 Setting up the duplicator
  • 13:26 Adding scale stagger for the bloom effect
  • 15:21 Adding colour variation with a Colour Array
  • 17:37 Bringing in Behavior Mixer for the motion
  • 20:21 Adding oscillator movement
  • 22:36 Adding noise and combining behaviours
  • 25:04 Building the path-driven master movement
  • 29:22 Converting path motion into a behaviour value
  • 30:59 Connecting master position into the Behavior Mixer
  • 31:32 Staggering Shape Time Offset
  • 33:08 Timing tweaks and final polish
  • 34:17 Editing the path to change the whole animation
  • 35:45 Wrap up + thanks to Tommaso