IllustratorsLeak
Ghislain Girardot
Ghislain Girardot

patreon


Niagara Wave Expansion System (has issues!) Project Files (UE 4.27)

Hey Patreons!

I recently made an experiment with Niagara that I consider a dead-end due to frame rate dependancy issues. However I thought it'd a valuable project in case some of you want to learn more about simulation stages and using render targets with Niagara, so here are the files.

Here's what I wrote in the video description about the issue and why I consider this to be a dead end:

The 'Content Examples' project you can find in the Epic Launcher (Unreal Engine - Samples) is filled with amazing stuff. In the 'BlueprintRenderToTarget' map, you can find a cool wave propagation system based on blueprints and cycling render targets to compute an expanding wave shader.

It's quite an intricate setup though, because you have to create a render target to store the current wave height, a second render target to store the previous wave heightand a third one to be written into to compute the wave propagation shader based on the current and previous wave height and constantly cycle through all those render targets.

It's a bit annoying and possibly not as performant and memory friendly as it could be, so I had the idea to try and recreate a simplified version of that setup with a single Niagara particle system using Simulation Stages.

*Unfortunately* it seems to be a dead end because the effect is no longer frame rate independent and I don't think it's fixable (plus it doesn't seem to be much more performant anyway). You see, the blueprint based system could be ticked manually using a fixed frame-rate setup to compute the render targets accordingly (multiple times per frame if needed).

The Niagara system however will tick once per game tick no matter what, so it can't be controlled like we used to with the BP setup. And fixing this unfortunately isn't as easy as using the delta time to compute the wave propagation shader, so I'm considering this a dead end. 

*Note* that for educational purposes again, and to focus on the Niagara system, this is a simplified setup! The captured area is fixed in world space and limited to an area 2000 units wide around world origin to make the setup as easy to understand as possible! If you play around with the t.maxfps console command, you'll be able to see the waves expanding much, much quicker with higher frame rates, which obviously is an issue unless you cap the frame rate and do your best to make a game that has very constant frame rate.

Happy splashes!


Niagara Wave Expansion System (has issues!) Project Files (UE 4.27)

More Creators