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

ParameterTypeDefaultWhat it does
entitiesAnyListSimulation entities: rigid bodies, cloth, fluid, soft body, smoke (auto-detected from _sim_type metadata)
forcesAnyListForce fields (Wind, Turbulence, etc.)
jointsAnyListArticulation joints (Ball, Hinge) between rigid bodies — from Physics Joint nodes
state_inSim State—Simulation state from Feedback Start (connect via Feedback loop for persistent physics)
world_idString"default"Physics world identifier (share across nodes)
gravityVec3(0, -9.8, 0)Gravity (m/s²)
world_scaleNumber1World units per metre. Auto-fits the canvas in a 2D comp layer; 1.0 (metre-scale) in a 3D scene. Raise it if a large 3D scene falls too slowly.
delta_timeNumber0.017Simulation timestep (seconds). Wire to Feedback Start.$delta_time for timeline-locked physics.
substepsNumber1Solver substeps per frame (more = more stable, slower)
iterationsNumber10Constraint solver iterations per substep (more = stiffer/more accurate, slower)
resetBooleanfalseReset the simulation to its initial state (re-seeds all entities from rest)
planar_lockString"Auto"Planar lock: keep simulation in the XY plane. Auto = on in composite (2D) layers, off in 3D scenes. One of: Auto, On, Off.
ground_modeString"Box"Built-in ground collider: Off, Ground Plane (XZ), Box (enclosed). One of: Off, Ground Plane, Box.
ground_yNumber-50Y position of the ground plane
ground_sizeVec3(500, 500, 500)Box dimensions (width, height, depth). Used in a 3D scene; in a composite (2D) layer the box auto-fits the canvas.
ground_frictionNumber0.500Ground friction
ground_restitutionNumber0.300Ground restitution (bounciness)
dynamic_groundBooleanfalseEnable dynamic ground (responds to contact forces)
ground_massNumber100Mass of the dynamic ground collider (kg)
contact_impulse_thresholdNumber0Minimum impulse magnitude for contact events (0 = report all)
contact_filter_idsString""Comma-separated body IDs to include in contact events (empty = all bodies)
strengthNumber1Effect strength / wet-dry (0 = no effect, 1 = full). Editable, wirable, keyframable.

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