Matter

Coupling

How rigid bodies, fluid, and cloth exchange forces inside a single substep.

Coupling is the suite's reason to exist: all body types integrate on the same clock, so forces exchange inside a substep instead of one frame late. A splash pushes the boat during the same step the boat displaces the water.

What couples with what

RigidFluidCloth
Rigidcontacts, stackingbuoyancy, drag, splashdrape, collide
Fluiddisplacement—soak weight, surface drag
Clothwraps, tearsporous flow-throughself-collision

Enabling it

Coupling is on by default between bodies in the same solver. The switch that matters is the pair mask:

Turn off fluid→cloth for a cheap win
solver = op('matter_solver1')
solver.par.couplefluidcloth = False   # banner ignores the rain

Pair masks are the first performance lever. A courtyard scene where rain never believably moves the flags can drop fluid→cloth and win the substep back.

Walkthrough: boat on water

Drop a Matter Solver, a Matter Fluid fed by a tank-shaped SOP, and a Matter Rigid pointed at the boat mesh with Collision Shape: auto-convex.

Set boat Density below the fluid's rest density — 400 kg/m³ floats convincingly against water's 1000.

Read the boat transform out of Matter Out into a Geometry COMP instance. The camera never knows the hull is a proxy.

Coupled systems share the substep budget — a fluid at 2 substeps forces the rigids it touches down to 2 as well. If stacking gets soft the moment fluid enters the scene, raise the solver's substeps, not the rigid's stiffness.

On this page