PBF and SPH Fluids¶
PBF Fluid and SPH Fluid turn emitted particles into particle-scale liquids. Both solve local density and cohesion, but expose different material and quality controls.
Use these solvers when the particles themselves are the liquid representation. Add a Mesher after simulation when the result needs a continuous surface. Use FLIP/APIC Fluid instead when the shot needs a fixed liquid domain, grid-guided sheets, reseeding, or whitewater.
Choose a solver¶
| Requirement | Start with |
|---|---|
| Direct, position-based incompressibility with a compact control set | PBF Fluid |
| Separate pressure, damping, viscosity-iteration, and two-scale vorticity controls | SPH Fluid |
| Per-emitter or per-group liquid variations | Either solver with Fluid Mixer |
| A grid domain, pre-fill, sheeting, or whitewater | FLIP/APIC Fluid |
PBF Fluid, SPH Fluid, and Granular are specialized material solvers. Do not target the same particles with more than one of them. Separate materials by Emitter or Group when a scene uses multiple solver types.
Basic workflow¶
- Emit particles with a reasonably even spacing and radius. Overlapping or very sparse starting particles make density tuning harder.
- Add either PBF Fluid or SPH Fluid after the relevant Emitters.
- Set Apply to to All Particles, an Emitter, or a Group. Keep other specialized material solvers on disjoint targets.
- Leave Particle Radius at 0 initially so the solver derives its reference radius from the affected particles.
- Establish the neighborhood with Smoothing Radius, then tune density behavior before adding strong viscosity, surface tension, or vorticity.
- Add Collision effects for scene geometry and Gravity or other forces for external acceleration.
- Increase solver iterations or global Substeps only after checking particle spacing, radius, and time scale.
- Add a Mesher if the finished result needs a liquid surface rather than rendered particles.
PBF Fluid¶
PBF corrects particle positions to satisfy a target density. It is suited to liquids that should remain compact without exposing separate pressure controls.
Neighborhood and density¶
- Smoothing Radius is the kernel support radius relative to particle diameter. A larger value includes more neighbors, produces a smoother solve, and costs more. Too small a neighborhood can look sparse or unstable.
- Rest Density is the target liquid density. Treat it as a material target, not as a replacement for correct particle spacing.
- Density Iterations controls how many density-constraint passes run per substep. Increase it when the liquid remains visibly compressible after the neighborhood and time step are appropriate.
Liquid behavior¶
- Viscosity diffuses velocity between neighboring particles. Increase it for slower relative motion and thicker flow.
- Viscosity Method selects the response. XSPH is intended for low to moderate viscosity. Velocity Diffusion provides a bounded response for stronger viscosity without overshooting neighbor velocities.
- Surface Tension pulls the free surface together, promoting rounded sheets, beads, and droplets. Excessive values can contract the liquid aggressively.
- Vorticity restores local rotational energy lost to numerical dissipation. Tune it after viscosity because the two controls oppose each other visually.
In Lists, Viscosity and Surface Tension can also use Data Mapping. In Nodes, the PBF node exposes compatible value or field inputs for Viscosity, Rest Density, Surface Tension, Density Iterations, and Vorticity.
Advanced controls¶
- Particle Radius sets the reference radius used by the solve. Zero uses automatic detection. Set an explicit value when mixed particle radii make the automatic reference unsuitable.
- Remove Stray Particles deletes isolated particles. Min Neighbors is the minimum local neighbor count required for survival. This is destructive simulation behavior, so verify that intentional droplets are not removed.
- Optimize Large Counts reorders particles in memory to improve performance for counts above roughly 10,000. It can cause flickering in Material Preview or Eevee viewport display; final renders are not affected.
SPH Fluid¶
SPH iteratively solves liquid pressure and then applies velocity corrections. It exposes more direct control over compression, surface pressure, and motion at different scales.
Neighborhood and density¶
- Smoothing Radius is the neighbor influence radius relative to particle spacing. Larger values use more neighbors and are smoother and more stable, but require more work.
- Rest Density is the target liquid density.
- Internal Pressure controls resistance to compression inside the liquid.
- External Pressure applies inward pressure to under-dense surface regions, helping the body remain cohesive.
- Damping removes excess kinetic energy without changing the pressure target.
Viscosity, surface, and circulation¶
- Viscosity suppresses relative particle motion.
- Viscosity Iterations controls the number of diffusion passes. Raise it for thick liquids when increasing Viscosity alone is insufficient.
- Surface Tension pulls free-surface particles together into rounded sheets, beads, and droplets.
- Small-Scale Vorticity restores fine rotational motion in splashes and small features.
- Large-Scale Vorticity restores broader circulation through the liquid body.
Tune pressure and density first, viscosity and damping second, and vorticity last. Check stability before tuning the material's motion and appearance.
Adaptive density solve¶
- Min Density Iterations always runs at least this many pressure passes per substep.
- Max Density Iterations is the upper limit used while particles remain over-compressed. It is clamped to at least the minimum value.
- Max Compression is the allowed compression before the solver spends additional iterations. A lower threshold asks the solver to correct smaller density errors and can increase cost.
- Velocity Correction reduces local velocity divergence after the density solve, producing calmer and more stable liquid motion.
- Particle Radius sets the SPH reference radius; zero enables automatic detection.
In Nodes, the SPH node exposes compatible inputs for Viscosity, Rest Density, Damping, Surface Tension, Small-Scale Vorticity, and Large-Scale Vorticity. Remaining settings stay available in the node inspector.
Fluid Mixer¶
Fluid Mixer changes selected material properties according to particle origin without requiring a second fluid solve. Each enabled source targets one Emitter or Group and only replaces properties whose override checkbox is enabled. Particles with no matching override use the main solver values.
PBF overrides are Viscosity, Surface Tension, and Vorticity. SPH overrides are Viscosity, Surface Tension, Vorticity (Small), Vorticity (Large), and External Pressure.
Lists¶
- Open Fluid Mixer in the PBF or SPH effect.
- Add a source and choose Emitter or Group.
- Select the source emitter or group.
- Enable only the material overrides that should differ from the main solver.
- Add further sources for other materials.
Adding a source chooses an existing Emitter or Group that is not already listed. If all existing targets have entries, no extra entry or Group is created. Create another Group in Groups and assign particles to it before using it as a new mixer target. FLIP and MPM Fluid Mixer entries use the same selection behavior.
Nodes¶
In Nodes, each Fluid Mixer entry has its own node:
- Add PBF Material Override or SPH Material Override.
- Select its Emitter or Group target in the node.
- Set the override toggles and values in the inspector.
- Chain multiple override nodes through Previous.
- Connect the completed chain to the fluid effect's Material Overrides input.
The connections set the override order. You can reuse or rearrange this chain without changing the particle stream.
Mixed-liquid example¶
- Create two Emitters and assign both to the same PBF or SPH solve.
- Tune the main solver for the first, more common material.
- Add a Fluid Mixer source targeting the second Emitter.
- Override only Viscosity at first and compare the motion at the interface.
- Add Surface Tension or vorticity overrides only when those properties also need to differ.
- Confirm that no PBF, SPH, or Granular effect overlaps the same target population.
- Add the Mesher after the material behavior is stable.
Troubleshooting¶
- The liquid compresses too much: Check starting spacing and Smoothing Radius. Then raise PBF Density Iterations, or tighten the SPH Max Compression threshold and allow more density iterations.
- The solve is noisy or unstable: Reduce strong forces, increase global Substeps, verify Particle Radius, and avoid an undersized neighborhood.
- The liquid looks overly damped: Reduce viscosity, viscosity iterations, or SPH Damping. Also check whether Velocity Correction is removing motion you want to keep.
- Small droplets disappear in PBF: Disable Remove Stray Particles or lower Min Neighbors.
- Fluid Mixer appears to do nothing: Check that the source targets the correct Emitter or Group and that the relevant override checkbox is enabled.
- Blender reports overlapping solvers: Change Apply to filters so PBF, SPH, and Granular use separate Emitters or Groups.
- The surface looks faceted or sparse: First improve particle spacing and radius. Mesher settings cannot restore missing simulation detail.