🎮 Check out the online demo! 🎮
🔴 Important Information 🔴
Fluid Frenzy uses the Package Manager to manage it's assets and is created using the Hybrid Package system as described here. This means that only the core requirements are imported into your project by default. This prevents your project from being bloated with samples and documentation by default. The samples can be imported using the Package manager. Read more about how to do this in the documentation here.
If you require any more assistance please feel free to contact me.
Overview
Fluid Frenzy is a powerful 2.5D GPU-accelerated fluid simulation and rendering tool. It allows developers to create realistic and interactive fluid dynamics, such as water, lava, and terrain erosion, enhancing the visuals and immersion of their games or applications.
Terrain interaction
Fluid Frenzy can be used to enhance your scenes by having water flowing dynamically over your Unity Terrain to create naturally looking rivers and bodies of water.
Terraforming
One if the unique features is the terraforming and fluid mixing capabilities. If you ever wanted to make a god-game based around flowing water, lava and terrain terraforming, then Fluid Frenzy is for you. Fluid Frenzy has the unique capabilty of two fluids interacting and mixing allowing the creation of fun gaming experiences.
Contents
The package includes a customizable fluid simulation along with water and lava shaders, allowing you to design your own distinct fluids. It also features various modifier scripts that enable interaction with the simulation, such as creating waves, flow, or vortices by pushing fluids. Want to take your fluid simulation to the next level? You can expand it further by incorporating your own layers using C# and Shaderlab expertise. There are multiple samples in the package to demonstrate its functionality.
Features:
2.5D Shallow water equation simulation.
The simulation uses a shallow water equation to simulate waves and flow based of the height of the fluid.
Terrain interaction.
The simulation interacts with the Unity Terrain, Terraform Terrain system, or a generic heightmap texture from any other terrain system you might use. The fluid simulation will make fluids flow over and around this terrain.
GPU Accelerated Level of Detail.
The simulation has options for several systems of rendering, one of these methods is a GPU accelerated LOD system called Quadtree on the GPU. This rendering system is highly performant compared to rendering a standard grid while also allowing higher details near the viewer.
Obstacle interaction.
Place objects in your scene and mark the as a obstacle using a component so that the fluid collides with your scene objects.
Rigidbody buoyancy and advection.
Make your objects move around by the forces applied by the fluid simulation. Add a component to your rigid bodies to simulate buoyancy and advection on your physics objects.
Interact with the simulation.
You can interact with the fluid simulation by adding/removing fluid, applying directional forces, or waves. All you have to do is add in a component and configure the options to the type of interaction you want.
Dynamic foam generation.
Foam is generated using a custom Fluid Layer to extend the simulation. Add this layer to generate a foam mask which can be applied to the water shader to dynamically display foam determined by the flow if the simulation.
Dynamic Flow mapping.
Velocity based flow mapping is applied to fluid rendering shaders to create a flow effect by offsetting detail textures.
Water rendering.
render high quality water using the built in water shader. The water shader supports features like: reflection, refraction, subsurface scattering, foam mapping, vertex displacement waves.
Lava rendering.
Render lava using the built in lava shader. The lava shader supports the following features: emission, flow mapping, velocity based heat.
Terrain terraforming.
Apply terraforming to a custom terraform terrain system. This custom terrain system can update the terrain in real-time by modifying the height and splat maps. Add multiple types of terrain to the base layer, and add a single layer of material ontop that can be eroded by the fluid simulation.
Two fluid layer mixing. Mix lava and water to create rock on terrain.
Add a second layer of fluid within the same simulation for optimal performance. This second layer can interact with the first by mixing and turning the mixed fluid into terrain; water + lava = rock.
Physics Colliders.
Generate and update colliders for the Terraform and Fluid Simulation at runtime to interact with the simulation through Unity's physics.
Render Pipelines.
Built-in and Universal Render Pipeline are both supported without needing to download and install a different package or changing shaders.
Overall, Fluid Frenzy provides developers with a robust set of tools to create immersive and visually appealing fluid dynamics in Unity projects. Whether you want to simulate water flowing over terrain, create volcanic eruptions with lava, or model erosion effects on landscapes.
Third-party support
Fluid Frenzy has automatic third-party support for the following assets:
If you wish support for your, or other assets it can be considered.
Limitations
It's important to note that Fluid Frenzy does have limitations. It is a 2.5D shallow water equation-based fluid simulation, meaning fluids can only flow over and not under objects simultaneously. The simulation has a maximum speed limit due to pixel-based movement, and multiplayer functionality is not supported due to synchronization challenges over a network.