Physics World

Set gravity and timestep for the physics world, and solve the entities wired into it.

What it does

The shared solver for every kind of simulation entity: rigid bodies, Cloth Sim, Fluid Sim, Soft Body Sim and Smoke Sim. Wire any Sim node's output into Entities and it self-classifies, so rigid bodies and cloth take the same route in. Forces (Wind, Turbulence and the rest) and Joints (Ball, Hinge) apply across everything wired in, and Gravity, Timestep, Substeps and Iterations control the whole world at once.

In a 3D scene it behaves as a metre-scale physics stage. In a composite (2D) layer it fits itself to the canvas: gravity, the ground plane and the enclosing box all rescale, so pixel-scale content falls at a plausible speed. Physics persists and advances frame to frame only through a Feedback loop, with State In from Feedback Start and State Out to Feedback End.

When to use it

ParameterTypeDefault
entitiesAnyCollection(AttributedCollection { col...
forcesAnyCollection(AttributedCollection { col...
jointsAnyCollection(AttributedCollection { col...
state_inSolverState
world_idString"default"
gravityVec3(0, -9.8, 0)
world_scaleNumber1
delta_timeNumber0.017
substepsNumber1
iterationsNumber10
resetBooleanfalse
planar_lockString"Auto"
ground_modeString"Box"
ground_yNumber-50
ground_sizeVec3(500, 500, 500)
ground_frictionNumber0.500
ground_restitutionNumber0.300
dynamic_groundBooleanfalse
ground_massNumber100
contact_impulse_thresholdNumber0
contact_filter_idsString""
strengthNumber1

Gotchas

Substeps and Iterations apply to the whole world, not per entity. All entities share one solver, so one rigid body cannot be given more iterations than another.

World Scale is normally set automatically from where the node lives: a composite layer maps the canvas height to a metre scale, a 3D scene is assumed to be metre-scale already. If gravity looks too slow or too fast for a large or tiny scene, raise or lower World Scale by hand rather than fighting Gravity.

Reset fires for one frame and re-seeds every entity from rest, which returns a scrubbed timeline to a clean start without rebuilding the graph.

Physics advances across frames only when wired into a Feedback loop: State Out to Feedback End, State In from Feedback Start. Without that loop every cook starts the simulation fresh from rest, so nothing falls or settles.

Worked example

  1. Add a Physics World and wire a Rigid Body Sim (or Cloth, Fluid, Soft Body) into Entities.

  2. Set Ground Mode to Ground Plane or Box so falling objects have something to land on.

  3. Wrap it in a Feedback loop: Feedback Start's state into State In, and State Out into Feedback End, so the simulation persists and advances each frame.

  4. Wire a Force Field (e.g. Wind) into Forces to push everything in the world.

  5. Read Bodies Out (or Cloth Out / Fluid Out / Soft Body Out, depending on what was wired in) downstream to render the result.

See also

Rigid Body Sim · Physics Joint · Force Field · Physics Query