FluidNinja VFX Tools

Hi visual effects developers,
the basic support for the FluidNinja toolkit is up!

Marketplace link
A set of example GIFs
Video tutorials

This thread has been created to provide direct support / know-how.
Based on your requests / needs, more detailed tutorials and documentation will be forged during the next few months.
I encourage you to pose questions / discuss your user experience!


Hey buddy. This tool is dope. I am looking at the youtube tutorials and I am in love with it. Hope there is a video that shows how I can use my own flipboooks and import it to your tool and use it. Great work

Yo Andras :slight_smile: great tool!
Adding it to my current workflow (or attempting to), and promoted it during a livestream :slight_smile:
I do have one small pet peeve, is there an option that allows me to select any emitter, instead of only the emitters that are in a specific folder?

Hi Roozbeh8564,
I am glad that you would like to use Ninja to play your own flipbooks :slight_smile:

In case if you would like to play a standard flipbook, Unreal is capable of doing so, it could be played without Ninja.
Manuals on the topics:

Ninja is needed when (A) you would like to use velocity data to interpolate between the frames (eg. slow down playspeed), or…
(B) if you would like to utilze the features (eg. color gradients, opacity settings) of NinjaPlay

Good news is, NinjaPlayers could play any kind of flipbook!
Here are the details on how to incorporate / embed Ninja players to your own project:
FluidNinja Manual

/page 5 / Connect Ninja to your project /Include Ninja Flipbooks and Ninja Flipbook player materials to your project
/page 6 / Migrating NinjaPlay

Once done, just open the player material instance, and pick your flipbook as texture input, plus define the number of columns / rows!
Keep up!

Yo Luos, checked your stuff at luosarts: impressive!!

I have created a video to answer your question :))

To put is short: you can manually edit (in Unreal) the data-table of a given preset. Copy-paste the absolute path of the needed cascade particle system to the data table to the “Particle Template” row, and that’s it :slight_smile:

Thanks for the kind comment :slight_smile: most of that stuff is somewhat outdated though :stuck_out_tongue:

About the datatables and other currently available approaches:

I have a sort of “vfx kitbash toolbox” project in 4.22 that contains almost all the textures, materials, meshes, and particle systems (1300+ and growing) I ever made (minus most nda), purchased and downloaded.

And I rather not move any of these, or add the entire thing to data tables.
I would prefer it if I was able to apply any of these into FluidNinja and see its result.

Perhaps an “Apply currently --in content browser-- selected particle system” button? just like the regular UE4 UI always has? (which might be more clear than having all these emitters popping up in a list)

Workflow wise it would not make much sense to either move any system I’d like to try out to another folder, or copy the emitters inside a system to a system already in the aforementioned folder. Neither would it make sense to try and apply any or all these systems to data tables.

If needs be, please contact me through email/discord and we can work out something if it would mean I’d get a “Apply currently --in content browser-- selected particle system” button.

Additionally, NinjaFluid seems to have problems with bursting particle systems that are not looped/not the main emitter in a system. I need to disable and enable the first emitter in a system to make it render any additional emitters in the system.

I hope we can work something out as I really love what this tool could do for me.

Hi Lous, recording non-looped sequences is very important, so I did some investigation, and here is the solution to your problem:

Is/Will there support for baking normal maps along with the velocity as well?

Hi DaDarkDragon!

  1. Ninja is performing the simulation in a 2D vector space without generating surface normal information. However: you may have noticed the “shading” slider, that could make the fluids look like they are 3D. I have created a Material Function that builds the shading from the available information. The same function could be used to create normal maps. I have quickly created this “Normal from Height map” function for you, could be used under UE 4.20 (and above): LINK
  2. There are free, online tools that could generate normal maps from the ninja simulation density data: simply upload your density map flipbook here, and generate normal from it: LINK
  3. Finally, here is a cross-link to a related Unreal Forums topic: LINK

Hope you could forge what you need :slight_smile:
Cheers, AK

Thanks man. I haven’t been able to fully explore the tool yet and since there wasn’t any info that i found on it id thought i’d just ask.

Hey there! I have purchased your VFX pack and today I went to generate a project to learn it and in the store/vault it says unavailable. I have never seen this. Any idea what might be the issue?

Hi mikezteh! The “unavailable” status you are writing about seems weird: on my side, everything looks good (on the store admin surface) and Epic did not sign any error. I see a few more user downloads in the last two days that worked out well. If you need it urgently, I could send it over to you via a private link :slight_smile: Pls write an email to me at andras.ketzer at gm ail.c om

Great job with NinjaFluid. I’m very excited to see what it goes and also very clever in it’s usage of textures and particle systems to achieve the render.

So in my exploration, I had my editor crash when I input too large of a render size. I meant to select it and set it to 1024, but accidentally added three more numbers. I don’t know if that was the reason for the crash, as I had a few other memory-eating programs open, but if it was, it might be worth constraining the proportions of the render output.

Thank you ShenSpurgeon, I am glad that you like the ware! Your suggestion on constraining canvas size is absolutely right - will implement that in the next release :slight_smile: Until then, here is a related info from Ninja Tutorial video No.10, on canvas size: LINK

Great job with the tool, I am kind of a newbie in VFX I come from a strong programming background and experience in game dev. Thanks for this tool and the tutorials!

I do have a question, Is there any config in cascade (using a PS as input in fluid ninja) that prevents the module to do more than 2-3 playbacks of the input system?
My system is set loop continuosly, but the preview on the ninja window only playbacks a few times and then stops.

I will try to redo the system again and see if I run in to the problem again.

As a side note, are you going to make videos doing examples of how to use the tool, setting up a preset from scratch? That would be awesome. Thanks.

  1. Tukaram, Thank you for the positive feedback!

  2. On looping halt: Luos had a seemingly similar problem back in 2019 nov (could be read above, end of comment #6 + answer in #7).
    Here is a short video on how to fix this: FluidNinja VFX Tools for Unreal - 13 - Baking 2 additional info [UE4] - YouTube

  1. On “how to use the tool, setting up a preset from scratch”:
    A. You could create and modify presets in Ninja, by using the “double floppy disk” icon (duplicate) besides the preset selection rolldown menu - simply duplicate the preset that - in your opinion - contains the best setup to start a new one. Here is video tutor on this one:
    FluidNinja VFX Tools for Unreal - 02 - Basics [UE4] - YouTube + Manual page 10.
    Preset naming / placement is also important - it is influencing the scope of visible (accessible) input assets. Here is the related video tut: FluidNinja VFX Tools for Unreal - 11 - Preset Scope - YouTube + Manual page 12

B. You could create / manage / modify presets in the UE Content browser, here is how to do it:

Sum: 2 hours of video tutorials split to 15 tematic chapters + 30 pages of manual - all available on the product page - I wrote / spoke all I could - boring as hell, but you have to dig your way through in case if you would like to master the Ninja :))) Go go go!

Fluidninja VFX Tools for Unreal, additional content
Exploring Parallax Occlusion Mapping technology (POM)

  1. Tutorial video, 7 minutes
    At Youtube FluidNinja VFX Tools 1.01 - Parallax Occlusion Mapping - YouTube
  2. Downloadable, Zipped Unreal Project (UE 4.20 and above), 27 Mbytes
    Mirror1, LINK
    Mirror2, LINK

The POM UE project is a collection of blueprints, materials and explanative scenes, delivering technology to make 2D flipbooks “look 3D”. The project is free to use, could be utilized without Ninja - and of course it could be integrated to Ninja.

The project structure is matching the “Content/FluidNinja” scheme, it only needs to be copied to the same folder.

Here is a detailed explanation on the technology: LINK
If you are considering using Ninja: this project is a good intro with example content, baked data and materials - have a look!

Hi AK!
The latest 4.25 Quickfix broke NinjaFluid for me. Switching to the Fluid Tab just crashes the whole project (the error is reproducable). If there is any way i can fix the error myself, i would love to do that. :smiley:
Sweet irony, a lot of Niagara bugs have been fixed but the more important tool just broke. Guess i’ll switch to 4.24 for the moment.
I’m loving NinjaFluid so far. Implementing Blackbody in the Atlas Player even makes it more sweet and easy to use for realistic effects. :slight_smile:
Cheers, Max

Hi Runner, thank you for reporting!
Pls have a looks at this documentfor FIX!

Hi AK, and thank you for the quick patch!
It’s working like a charm again. :slight_smile:

And for the new engine bug, at least they fixed some massive errors on the skeletal mesh sampling in niagara. x)

Reminds me of the thing i am trying to implement in NinjaFluid. Niagara works pretty nicely in your tool. What would be nice, is having a skeletal mesh as a base for the emitter sampling. So the skeletal mesh must be pinned to the location where the render target records. With the niagara system as an append (and then sampling the mesh with the animation happening), you could get some nice character animations as the source for NinjaFluid. I will be fiddeling around with it tomorrow. If you have any suggestions on how to pull this off, i would be happy. :smiley:

The alternative is sampling through houdini, exporting the particles and then using them as the emitter. Doing this directly in the engine would be pretty cool. :smiley:
Cheers, Max