Tutorial 53: Image Shader Manipulation in Cavalry

This method of manipulating image shader was, I think, first shared by Mario De Meyed on Discord channel. You should give him a follow on Instagram, as he shared his setup, which we all could learn from. He often posts interesting design research work on his socials, often centered around Cavalry.

The idea behind this image shader method is:

  • Add mask to an image
  • Move around the Image Shader with Offset property with Get Vector behaviour
  • Make ## amount of copies of the mask + image around your composition
  • All wrapped in a Duplicator x2

Thats about it. The hard part is not rigging the whole thing. We are using native Cavalry tools – no JavaScript or Expressions. The hard part is understanding how we can use the information that Cavalry gives us to manipulate the whole rig in a procedural way. This is where the Index Context comes in.

Procedural and Responsive Rigs

In the tutorial, I set up everything in a procedural way. My end goal was to render 5, 10, 20 animations by changing only few properties. I wanted to constrain everything to Composition Size. This makes it easy to export for YouTube, Instagram, 4k delivery and so on, without changing anything once setup is done.

You don’t have to do this, if you want to have more nuanced control over your final design. Another way that you could change the look and feel of the animation is to use different types of masks. For example, Ellipses, Stars, Custom Shapes and so on. Possibilities are quite endless. You can see different types of masks that I used at the bottom of this blog post.

2 vs 1 Duplicator

I didn’t mention it in the tutorial, but I had to use 2x Duplicators, instead of one. This is due to “loop connection input”. Or as I like to call it – Red Noodle of No Connections. Let’s break it down:

  • Duplicator A makes 9 copies of the whole Group around Composition
  • Duplicator B makes 9 copies of the Mask inside the Group

When I want to offset image around the composition based on the POSITION of the duplicated Mask, I need to get this data without creating loop. The easiest way is to use 2x Duplicators, but link one to another – Count X and Y, Size and so on. This allows us to skip the whole Red Noodle of No Connection problem and allows us to create an interesting effects.

Sometimes you have to use multiple copies of the “same” setup, to get the desired effect. Otherwise, Cavalry may crash 🙂

Unsplash images used in demo:

Get Project File From Gumroad

This project file contains all the assets necessary to make animation in the tutorial in final form. Everything is labeled, linked, with expressions and ready to use, if you wish to make your own version or just play around with it.

If you have any suggestions for tutorials or how I can improve, please do get in touch. I would love to hear from you.

Found it helpful? Consider sharing it with others.

Other tutorials

2026-03-22T12:31:35+00:00
Go to Top