🕹️ Demo 📄 Docs 💬 Forum 🌐 Site
💡 Easy To Use ― Integrate FLOW into your project with just a few clicks, no programming required. To help you understand how each feature works there are many tutorial demo scenes, which take you step-by-step through each feature. Once you've finished with the tutorials you can look at the demo scenes, which combine multiple features to create various game scenarios.
💡 Incredible Performance ― All features of FLOW have been heavily optimized with GPU acceleration, batching, caching, and much more. This allows you to enjoy consistent performance regardless of how much fluid you add to your scene. You can also quickly adjust the simulation resolution for lower end mobile devices.
💡 Large Scale ― FLOW allows you simulate fluids across scenes that are kilometers in size with great performance, even if you add fluids everywhere.
💡 Terrains & Custom Objects ― FLOW is designed to work with terrain scenes, 3D object scenes, and even combinations of both. Simply add colliders to your objects, pick the layers you want, and FLOW will do the rest.
💡 Add/Move/Remove Blocking Objects ― Simply add the FlowObject component to your GameObject, and the fluid simulation will automatically react to any changes you make to it. This allows you to create or destroy dams, redirect water flow, and much more!
💡 Full Source Code Included ― Although FLOW doesn't require any programming to use, if you are a programmer then feel free to tweak the code as much as you like, it's designed to be easy to modify. You can also access all features from the simple API.
💡 Buoyancy Simulation ― If you want to make objects float or sink then just add the FlowFloat component to them, and they will automatically interact with the fluid simulation. This can also simulate hydrodynamic drag, and keep upright torque.
💡 Edge Rendering ― If you want to simulate a miniature or diorama style scene then you can enable fluid edge rendering, which will make the fluid look like it was sliced out of a larger piece.
💡 Underwater Rendering ― With just a few clicks you can render fluids when the camera goes underwater, with full control over the underwater fog distance. The transition from above to under water is seamless too!
💡 Low Poly Rendering ― Easily switch between a smooth realistic fluid look, and a low-poly faceted style.
💡 Unlimited Fluid Types ― Need more fluid types than the included water/mud/oil/etc? No problem, just add the FlowFluid component to your scene or a prefab and you can make your own, with full control over the color, viscosity, opacity, etc.
💡 Mix Fluids Together ― Feel free to add as many fluid types as you want to the scene. When they collide they will all interact and mix together seamlessly!
💡 Wetness Simulation ― Need to simulate the ground getting wet from fluids flowing over the surface, and for the ground to slowly dry? FLOW comes with demo scenes, shaders, and materials to make your scenes look even more impressive with this effect.
💡 Drain Fluid ― The Remove Fluid modifier can be used to remove/drain fluid from a specific area. All objects that are floating nearby will also be sucked toward the drain hole. This can also be used to remove fluid above or below a specific height.
💡 Fluid Forces ― Need to freeze your fluid in place, or force it to move in a specific direction? The force modifier features can be used to do this in just a few clicks, and can even be made to work using a custom shape/mask texture.
💡 Read Fluid Data ― Need to sample the fluid height/color/etc at a specific 3D point? No problem, just add the FlowSample component to any GameObject and it will automatically read the fluid data beneath. You can even detect what kind of fluid is being read based on a list of possible fluids. This feature works asynchronously, so there's almost no performance penalty!
💡 Paint Fluids ― Need to paint fluids under the mouse/finger as you drag across the screen? The FlowDrawModifier component can be used to paint any fluids you like - it can even be used to drain fluid, add forces, and all other fluid modifier features.
💡 Fluid Triggers ― Need to perform a custom action when a certain amount of fluid appears in a specific area? No problem, just add the FlowTrigger component to any GameObject, and connect its inspector event to anything you like, no code required.
💡 Particle System ― Normal particles can't interact with fluids or store fluid information, so FLOW comes with its own particle system that does. This allows you to quickly emit streams of particles that turn into fluid when they hit the ground or the fluid surface.
Thanks for reading ❤️