Rigid bodies

Solid objects that tumble, bounce, and stack — boxes on a floor, dice in a cup, a cascade of crates.

A rigid body keeps its shape no matter what hits it. Drop a stack of blocks, knock them over, let them settle — the Rigid Body Sim node runs the whole thing on the GPU so it stays real-time even with a crowd of objects.

Getting things falling

Feed some geometry into simulation.rigid_body and wire it into a simulation.particle-style scene — or, more simply, drop your shapes into a Physics World and give it a ground. Each separate piece of geometry becomes its own solid body. Add a floor (a Physics Collider, or the built-in ground), press play, and gravity does the rest.

Any plain geometry you send into the physics world becomes a rigid body automatically — you don't have to flag it. Scatter some boxes, wire them in, and they'll fall and stack with no extra setup.

The pose of each body — where it ends up and how it's rotated — is written back onto your shapes as they tumble, so the original look is preserved on the way out.

The three controls that matter

Most of the feel of a rigid sim comes from three properties:

Tune these until the stack settles the way you want. A pile of bricks wants high friction and low bounce; a handful of rubber balls wants the opposite.

The physics world

Bodies don't simulate in isolation — they live in a shared world that also holds the floor, walls, gravity, and any forces. Everything wired into the same Physics World collides with everything else and obeys the same gravity.

You can also pin bodies together with joints — see Joints & constraints — to build hinges, chains, and ragdolls.

There's no separate "CPU physics" mode to choose. The solver runs on the GPU, which is what keeps large stacks and piles real-time.

Collisions and contacts

Bodies collide with each other, with static colliders, and with Distance Field shapes used as collision boundaries. Anti-tunnelling is always on, so fast-moving objects won't shoot straight through a thin floor — there's no separate switch to enable.

If you want to react when things touch — trigger a sound, spawn particles, change a colour — use a query.trigger to catch the moment two bodies meet.

Parameters

ParameterTypeDefault
inputAny
body_typeString"Dynamic"
collider_shapeString"Mesh"
massNumber5
frictionNumber0.500
restitutionNumber0.300
iterationsNumber10
dampingNumber0.010
strengthNumber1

See also