Matter
Operators
The eight Matter operators and the network shape they expect.
Eight operators, one pattern: the solver owns time, everything else declares state or reads it back.
| Operator | Family | Role |
|---|---|---|
Matter Solver | COMP | The clock — owns substeps, gravity, budget |
Matter Rigid | COMP | Rigid body set from SOP instances |
Matter Fluid | COMP | SPH fluid volume |
Matter Cloth | COMP | Cloth / soft shell from a mesh |
Matter Constraint | COMP | Joints, motors, pins between bodies |
Matter Force | COMP | Field forces — wind, vortex, attractors |
Matter Emitter | COMP | Streams new particles / bodies at rate |
Matter Out | CHOP | Readback — transforms, velocities, contacts |
Network shape
matter_solver1
├─ matter_rigid_crates (SOP: crate instances)
├─ matter_fluid_tank (SOP: emission volume)
├─ matter_cloth_banner (SOP: banner mesh)
├─ matter_force_wind
└─ matter_out1 (CHOP → instancing network)Bodies register with the solver whose path their Solver parameter names —
parenting in the network editor is for humans, the path is what binds.
One solver per interacting system. Two solvers never exchange forces — use that deliberately to isolate a background sim from a hero sim at different budgets.
Reading results
contacts = op('matter_out1')['contact_impulse']
if contacts.eval() > 4.0:
op('audio_hit').par.play.pulse()Matter Out exposes contacts as CHOP events with impulse magnitude —
collision-driven sound and lighting cost one export, no Python per frame.