Method
This node simulates fluid dynamics on a particle system using the FLIP (FLuid In Particle) or PIC (Particle In Cell) simulation methods. This is typically used to simulate smoke, gas and other fluid effects. This works by transferring particle forces to a grid, solving pressure forces on the grid and then transferring the resultant forces back to the particle system. This allows particles to affect each other and to move in a locally coherent manner. The simulation is stable, detailed and efficient.
The grid resolution and size used for the pressure solver is key to the detail and performance of the resultant simulation. A higher resolution grid over a smaller area will give a more detailed simulation, but higher resolution grids are slower to process. The simulation may be switched from 3D to 2D, in which case one axis is dropped from the simulation.
Example |
---|
![Fluid FLIP Affector]() |
This image is taken from the “sunburstt.dfx” sample project. |
Example Nodegraph |
---|
![]() |
Transform
Name |
Description |
---|
Position X |
Move its position along the x-axis in local space. |
Position Y |
Move its position along the y-axis in local space. |
Position Z |
Move its position along the z-axis in local space. |
Rotation Heading |
Rotate the object about the y-axis. |
Rotation Pitch |
Rotate the object about the x-axis. |
Rotation Bank |
Rotate the object about the z-axis. |
Scale X |
Scale along the x-axis. |
Scale Y |
Scale along the y-axis. |
Scale Z |
Scale along the z-axis. |
Inherit Transform Channels
Toggle which transform channels should be inherited. By default, all are on.
Attributes
Name |
Description |
---|
Solver Mode |
Choose how the solver is calculated.
- PIC, Particle In Cell. A detailed but more noisy and explosive simulation.
- FLIP, A less detailed but more stable simulation.
|
Velocity Scale |
Scale the strength of the affectors velocity on the particles. |
Incoming Velocity Scale |
Scales the velocity of the particles before they go into the pressure solver. |
Radius |
Alter the outer radius at which the affector is no longer effective. |
Simulation Speed |
Speed at which the simulation is played. |
Depth Spread |
For 2D simuations – control the range at which the solver affects particles in the depth axis. |
Surface Tension |
Control the amount of surface tension in the fluid solver. |
Life Effect Coeffs |
How much the particles are affected by the affector at different stages of the particles life cycle. Values 1 and 2 are control points used to control a bezier curve between values 0 and 3. |
Grid Width |
The width of the grid in cells. |
Grid Height |
The height of the grid in cells. |
Grid Depth |
The depth of the grid in cells. |
Use 3D Solver |
Toggle whether to use a 3D solver in calculating the fluid dynamics. |
2D Axis |
If 3D solver is turned off, the selected 2D axis is used. |
Visualise Solver |
Visualise the fluid dynamics solver. |
Fixed Solver Update Framerate |
Toggle whether to use the fixed solver, or the legacy mode. |
Blend Weight |
Control how much the affector has an effect on the particles. |
Updates
Name |
Description |
---|
Time Step Mode |
Choose how the simulation update rate is calculated. FLIP simulations are sensitive to the update rate: different update rates change the simulation results, so it may be desirable to control it in order to achieve a deterministic simulation.
- Running (Normal) – use the same time delta as the main render, which may vary frame by frame. Perform a single simulation update per frame.
- Fixed – use a fixed update frame rate as specified by the Update Frame Rate property. Perform a single simulation update per frame.
- Adaptive – use a fixed update frame rate as specified by the Update Frame Rate property. If the render time step is greater than the fixed update rate, perform multiple simulation steps in a frame to keep in sync with it – at the cost of slower processing.
|
Update Frame Rate |
The frame rate used for simulation updates in Fixed or Adaptive time step mode. |
Num Update Steps |
The number of simulation steps to take per frame. This allows the simulation to be performed with multiple small time steps rather than single large steps, which may give better quality. |
Inputs
Name |
Description |
Typical Node Input |
---|
Bounds Transform |
Controls the area of space covered by the FLIP simulation. |
Bounding Box |
Affected Emitters |
Choose which emitters can be affected by the affector. |
Primitive Emitter |
Procedural Falloff |
Use the SDF values from a procedural system to dictate the falloff. |
Procedural Root |
Transform Modifier |
Links all transform properties to the input node. |
Null |
Target Node |
Always faces the x-axis towards the inputs anchor point. |
Null |
Local Transform Override |
Override the transformation values of the node, relative to its parent. |
Null |
Outputs
All nodes connected to this node are treated as if flowing to the parent node, and inherits any transformation changes along the chain.