Is it possible to create a Sprite Mask effect without using Light2D?

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By GamesIMadeForFreya

I’ve been making this game here: https://www.youtube.com/watch?v=AhNzuqnZb28

When one of the balls the player controls hits an obstacle the player dies and a particle effect is created that looks kind of like a water balloon exploded. We can’t do particle collisions in godot yet so what I’ve done is to create a number of invisible physics bodies and apply random force to them to make them explode outwards like the particles.

When these bodies collide with an obstacle they cause a sprite to be instantiated and added as a child to the object they collide with. I want to use a sprite mask to make it so that only the part of the splat sprite that is on top of the obstacle is visible. The only way that I can find to do that is by using a Light2D and a CanvasItemMaterial with the blend mode set to mix and the Light mode set to Light Only.

This would normally be fine however as you can probably see in the video I’m already using a lot of light2Ds in my game. So of course these lights are making the splat sprites visible.

So I’m wondering is there any way to do this effect without using a Light2D?