OmniMotion®
GuideDraft

Physics

Rigid bodies and plane cloth — gravity, bounce, grab, collide sentences, hanging fabric. Play / Simulate only.

Give a mesh a Physics Body and it falls, bounces and rests on a static neighbour — in play mode, without a single keyframe. Grab it, throw it, or fire a collide sentence. Hang a Plane with Cloth and it drapes, collides with those bodies, and you can pull it. The Scene3D's Physics World sets the gravity everything inside it feels.

This is Lab-native (AABB / sphere rigid, Verlet cloth), not 2D Physics. Field deforms vertices on the GPU; it is not cloth.

01Quick tour

  1. Select a mesh that is a direct child of the Scene3D. + Add → Physics Body. The scene gets Earth gravity at the same time.
  2. Add a wide cube under it, Physics Body, set Body to Static — that's the floor.
  3. Press Play (or Simulate). The mesh drops, bounces and settles. Drag it — the camera does not orbit — and flick to throw.

Physics only runs in Play / Simulate. In Design, bodies stay where you put them.

02Physics Body

The section lives on a Mesh3D. Nested meshes (parent is not the Scene3D) are skipped.

BodyBehaviour
DynamicSimulated — falls, bounces, gets pushed, can be grabbed
StaticImmovable ground or wall. Dynamic bodies always collide with it
KinematicYour keyframes and tweens move it; it pushes dynamic bodies but is never pushed
RowWhat it does
ShapeAuto (a sphere mesh is a sphere, everything else a box), Box, Sphere
Bounce0–1, how much energy survives a hit. Default 0.2
Friction0–1, surface grip. Default 0.35
GravityMultiplier on the world's gravity. 1 is normal, 0 floats, −1 falls up
MassImpulse share. 1 is neutral. Throw velocity is divided by mass
LockFreeze X, Y or Z (Y is down in the Lab)
BodiesCollide with other dynamic meshes (statics always collide)
DraggableGrab in Play / Simulate. Default on. Does not orbit the camera
ThrowKeep pointer velocity on release. Drag Feel scales throw and follow lag

If the body has no gravity to fall with, the section says so and points you to the scene's Physics World.

Sensors and rotate-on-impact are not in this slice. Only dynamic bodies can be grabbed. A mesh cannot be both a rigid body and cloth — adding one turns the other off.

03Play grab

Pointer down on a draggable mesh starts a grab (camera-facing plane through the mesh). Empty space still orbits. Simulate uses the same grab — not the 2D drag-transient, which would fling the mesh in world units.

04Sentences

collide fires every frame while two bodies touch; collideStart only on the first frame. $hit.other, $hit.nx, $hit.ny, $hit.nz, $hit.speed — Y is down, same as 2D (ny_lab = −ny of the three contact). Bounce away: =-$hit.nx * 4.

Physics actions (pctl) on a Mesh3D write the 3D body. vx / vy / vz are Lab axes (down is +Y); negative vy throws up, like 2D. 2D bodies ignore vz.

on ball collideStart -> pctl impulse @ball vx:0 vy:-4

05Cloth

Select a Plane that is a direct child of the Scene3D. + Add → Cloth. The scene gets Earth gravity if it had none. Play / Simulate drapes the fabric; Design stays put.

RowWhat it does
PinTop hangs from the upper edge (default), Corners pins the four corners, None lets it fall freely
StiffHow strongly the fabric keeps its rest distances (0.1–1). Default 0.88
DampVelocity bleed each step. 0 is lively, 0.5 is heavy. Default 0.04
GravityMultiplier on the world's gravity. 1 is normal, 0 floats
BodiesCollide with Physics Body meshes in this scene. Default on
ItersConstraint iterations per step (1–16). More is tighter and slower. Default 8

Grab a free part of the fabric in Play — the camera does not orbit — and pull. Release keeps a little pointer velocity. Cloth collides with rigid bodies; it does not fire collide sentences of its own.

An upright plane hangs as a banner. Rotate X 90° to lay it flat and drape over a table. Sphere and cylinder cloth are later. Self-collision is not in this slice. Raise Geometry → Segments if the drape looks coarse (capped at 32).

06Physics World

Adding a Physics Body or Cloth to a mesh gives its Scene3D an Earth-gravity world automatically. To change it, select the Scene3D and open Physics World:

RowWhat it does
GravityZero-G, Earth (9.8 world-units/s² downward), or Custom
g X · Y · ZWorld units/s² — down is +Y

Every dynamic body and cloth inside the scene multiplies this by its own Gravity row.

07Agent / NTX

p3w Stage gravityY:9.8
p3 floor enabled:1 bodyType:static
p3 ball enabled:1 bodyType:dynamic shape:sphere
on ball collideStart -> pctl impulse @ball vy:-4
c3 drape enabled:1 pin:top

phys is 2D pixel physics — never put it on a Mesh3D. c3 is Plane cloth; Field (f3) is not cloth.

Checked against the tool on 2026-09-18.