I came across this clever tutorial that uses a niagra fluid explosion on projectile impacts. https://youtu.be/STM33pJIAZE?si=M5vAZQ00bbeAXoVZ
I’m wondering if there’s a way to cache this simulation so it can be more optimized for in-game use like this where it get triggered on projectile impacts. (Yes, I know it will be too expensive, just humor me.)
If one wanted to optimize a baked 3d volumetric explosion for gameplay, how would they go about it?
Could a niagra sim be baked into a VDB, and that would help performance?
Does it make more sense to use a VDB created externally?
Can VDBs or cached fluid sims be used similarly to the effect in this tutorial with the orientation changing based on the normal?
Is it possible to blend or fade between 2 or more still VDBs to cheat like you have more frames in your VDB (similar to how can do that with a 2d flipbook by fading between frames)?
Could you cheat and turn a niagra sim or VDB into a flipbook-based volume texture?
Volumetrics are obviously the future of FX. So many questions!
Yes, you can bake Niagara simulations from within the editor.
Most performant will be a flipbook, which can be generated from the baker tab: Niagara Baker | Tutorial
Also from the baker you can instead save it as a simulation cache asset - this will save all the simulation data in a cache, so you’ll have the full sim at runtime. To get good perf here I’d try and sample at a low rate and then use interpolation option, that way you don’t have to save a lot of cache frames.
Thanks for the info! Can those cached fluid sims be triggered on projectile hits with the correct orientation (for example if your projectile hits a wall)? The only cached fluid demos I’ve seen have been in sequencer for cinematics.
Also that tutorial you linked was great. Do you know of any other tutorial that would help explain how to set up the multiple “top down” and “side” etc. flipbooks into a view angle dependant FX asset? So if the effect gets triggered if the player is ground level the “side” flipbook would play, and if the player is above the location of the effect the “top down” flipbook gets triggered etc…
You can set sim caches on Niagara components either from Blueprint or C++. Or you set them up in a sequence and them play the sequence instead of playing a Niagara system directly.
You can of course create flipbooks with different orientations and then if you want to play them use the direction vector from camera position to particle position to choose the right flipbook to play. Usually aligning the flipbook sprite with the camera plane is enough though.
Hi TeryKnop, can you explain how It can be attached to the game environment? I am still searching for the componenet you mentioned, where is it exactly?
Hi Nopams0,
It’s been a while ago and I actually found using Sequences for Niagra more productive for my last project. It is one of tutorials what @Michael.Galetzka mentioned Niagara Simulation Caching in Sequencer | Tutorial
But what I meant in my post above is You need to open Character Blueprint, drag and drop Niagara Component to Event Graph, find function SetSimCache() and use it. Sorry, I cannot remeber why I rejected using this approache. Most probably, when yo are using Niagara, you need also e.g. Duestruction system + Audio, etc. It’s easier to run it through Sequence…
I was actually testing the sequencer method and the Bluepirnt method. BP method was not working since I realized I was using Character_Blueprint. Don’t do that . Use Actor_Blueprint instead, character BP wont play your cached animation instead it overrides the SetSimCache() and calcutates the whole animation.