Cleaning and generating puddles

Hi there!

Our team is developing a game where one of the mechanics is cleaning puddles with a mop. Some of them are placed in the level beforehand, while others need to be generated in runtime. We’d like the cleaning system to be similar to the ones in Out Of Space (Out of Space - Game Trailer - YouTube) or Super Mario Odyssey (Super Mario Odyssey - How to Capture Poison Piranha Plant (Capture #20) - YouTube), specifically the way a part of the puddles disappear when the mop or the hat touches them. Our main inspiration for generating the puddles is Splatoon.

We’ve been looking into render targets, decals, vertex painting, opacity and depth operations… But we’re kinda lost :’) Could it be a shader what these games are using? How would you guys implement such a feature?

If anyone can give us some hints on where to start, or point us in the right direction, we’d very much appreciate it.

Thanks in advance!!

Particle systems :slight_smile:

Didn’t think of that one! If you don’t mind, can you elaborate a bit? Thanks!

Well, looking at those vids you supplied, that’s what I would say they are using.

I assume you’re referring to the plumes of smoke, or little clouds surrounding the mop.

A quick look at this:

will give you an idea of what I mean. Obviously these are a little complex, but you get the idea…

Ah, I was actually referring to the puddles of water/mud themselves and the way a part of them disappear when the mop or the hat touches them. Sorry for the confusion! I’ll update the question.

Ok, with you :slight_smile:

In the first case I think it’s decals, in the second I think it’s just a plane with a material on it.

In any event, it will be a masked material. Using a mask, you can hide or show any part of a mesh.

It seems like render targets and masks are indeed the way to go. We’ll experiment with that and hopefully post an update soon! Thank you again for your help :slight_smile: