This node simulates fluid dynamics on a particle system using the SPH (Smoothed Particle Hydrodynamics) simulation method. This is typically used to simulate liquid effects. It solves a fluid simulation by locally solving pressure forces between a particle and others nearby. This allows particles to affect each other and to move in a locally coherent manner. SPH works well for liquid effects like water.

The solver takes into account both the position and velocity of particles and their neighbours. The Viscosity attribute is used to make the simulation behave as a thicker liquid. Surface Tension is used to keep particles together like droplets of water. The radius around each particle in which they interact with their neighbours is controlled using the Cell Size attribute. Larger cell sizes may result in a smoother simulation that increases performance demands. The simulation may be switched from 3D to 2D, in which case one axis is dropped from the simulation.

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.

This image is taken from the “sph_box_example.dfx” sample project.
Example Nodegraph


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.


Name Description
Weight How strong an effect has on the particles.
Cell Size The area around each particle that resists other particles from getting within a certain distance.
Viscosity The viscosity of the fluid, where smaller values make it more gas-like and larger values make it thicker – more like treacle.
Gravity How strong gravity is on the particles.
Pressure Scale Scales the amount by which particles push apart from each other.
Rest Density Controls the base density of the fluid.
Surface Tension How much the particles want to stay together at their surface.
Max Force The limit on the force applied to the particles as a result of the simulation.
Dampening The amount particle forces are damped – so they decay over time, rather than moving constantly.
Area Scale Scales the area of space the simulation is processing.
Mode Choose how the fluid simulation is calculated.
  • SPH, use smoothed-particle hydrodynamics to generate the fluid dynamics.
  • Position Based, uses position based fluids, faster but less realistic.
  • Inter-Particle Force, simply pushes particles away from their neighbours.
Dimension Choose whether the effect is 2D or 3D.
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 Resolution The resolution of the underlying grid used in neighbourhood searches.


Name Description Typical Node Input
Grid Transform Nodes Controls the transform of the bounding box of the affector. 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


All nodes connected to this node are treated as if flowing to the parent node, and inherits any transformation changes along the chain.