Introduction

Fluid Flow 2 allows you to paint fluid to your objects in real time, and simulate it flowing down the surface dynamically. Use it for blood, paint, or any other kind of fluid.

The main feature of Fluid Flow is the dynamic flow simulation. However, you can also use it just for real-time 3D texture painting/decals, which also supports skinned mesh renderers. Due to its modular structure, you can decide which parts of Fluid Flow you want to use, without unnecessarily bloating your project.

The texture painting and flow simulation are handled fully on the GPU for optimal performance. Fluid Flow is not a physically accurate fluid simulation, but it provides good-looking fluid for your games at a comparable low performance cost!

As fluid is painted and simulated in UV space, your meshes require a UV unwrap with non-overlapping UV islands, so there is a 1:1 correlation between the object's surface and the texture. You can also configure Fluid Flow to use the lightmap UV set, which can be generated by unity automatically.

Important: Please note that your objects require a special shader for overlaying the fluid, or when using the texture atlas system. There are basic surface and shader graph shaders included. Alternatively, you can easily create your own supported shaders with the provided custom shader graph nodes, or shader utility functions.

Required Unity Packages

Features

  • real-time UV space gravity map generation:
    • texture-based flow simulation
    • particle-based flow simulation
  • 3d texture painting on (skinned) renderers
  • draw decals on (skinned) renderers
  • fluid flowing over UV seams
  • fluid effects: evaporation, blur (soaking)
  • caching system
  • custom editor windows
  • modular, optimized and open code-base (no .dlls)

Technical Details

The texture painting and fluid simulation are independent of the render pipeline used. For overlaying fluid over your models, or unpacking the texture atlas you might have to adjust your custom shaders. There are custom shader graph nodes, and surface shader utility functions included to make this as easy as possible.

Limitations

  • NOT a physically-based navier-stokes fluid solver. Fluid just moves based on gravity.
  • Requires non overlapping UV map , as fluid is simulated in UV space.
  • Renderers require a specialized shader for overlaying the fluid texture.