Realtime liquid with Niagara


Hi guys!

Recently i was trying to figure out how Ryan Brucks, did his realtime fluid with niagara.

I was struggling with getting depth mask of the niagara particles, so i’ve choose to do it differently,
by getting particle position and passing it as pixel in render target texture, so i can use them in raymarching calculations for metaballs.

Here is my result so far:


That looks pretty good.
Can you shade it properly with roughness, translucency etc.?
How cost intensive it is?

Thank you, I’m pretty new to raymarching thing, so here i’ve use standard debug shader - but im sure its possible to do any shading with it.

As for performance its not rly optimized and heavily depends on amount of particles for simulation, because i have to loop through each particle position for smoothing.
Also im not sure that its possible to export data from GPU particles. so i have to use CPU ones.


That’s great!Can I get a tutorial?

Wow this is cool! Could you do a breakdown on this? I’m particularly fascinated about raymarching features as that something i couldn’t wrap my head around.

This is looking great! Excited for when the NiagaraSimStages plugin goes live so we can all play with it :slight_smile:

Have you uploaded a breakdown of this anywhere? Or if there’s someplace I can learn more about raymarching metaballs like this?

Hi @kmskazka, it looks great!
How did it go with your Liquid FX?
Could you share a bit about how you managed the have this result?

thank you

Tnx man, but my stuff is pretty outdated - there is much better approach, especially in 4.26.
You can check out great vid from Asher Zhu:

1 Like

Thank you, i definitly will check this !

Is there an English version of this?

Asher added english subtitles for it, so that’s your best bet.

1 Like