- Geometry
- Solvers
Rigid
Purpose
Section titled “Purpose”Rigid simulates bodies that translate and rotate without deforming. Shell Sample handles sampled contacts and mechanisms; True Convex provides the OBB-SAT contact mode for box stacking. Body and constraint specifications let you author joints alongside the bodies.
Place Rigid in the Geometry view, under Solvers. Connect a small point set and choose Input POP (point bodies) as Body Source. Each point supplies a body location. Start with Boxes, Body Size at 0.06, four Substeps and ten Iterations. Space the input points far enough apart for the body size.
For a joint setup, use Body + Constraint Spec or an Example Preset such as Motor Linkage or Chain. The specification accepts bodies and ball, hinge, distance and weld constraints. Start with Shell Sample for this workflow. With no authored source, Procedural Pile Count controls the fallback pile.
Inputs and outputs
Section titled “Inputs and outputs”The geometry input supplies point bodies or an active convex mesh, according to Body Source. Resources > Connections accepts sdf obstacles, points, velocity, contacts and a field for buoyancy.
Outputs include P, v, id, Cd and orient, plus xform transforms, contact data and a mesh output. Keep orientation when using body points downstream so the displayed bodies rotate. To try buoyancy, connect Ripple’s height field to Rigid’s field input and raise Buoyancy from its default 0.
Controls
Section titled “Controls”- Contact Model changes the contact solver. Shell-specific Solve Strategy and Chebyshev controls apply to Shell Sample; the Convex controls apply to True Convex.
- Simulate pauses advancement and Reset restarts the bodies. Use Auto-Rebuild on Build Params or press Rebuild to apply pending changes to the body setup.
- Substeps and Iterations control solve effort. Body Size, Density and Friction set body scale and contact behavior. The default floor is enabled at Y = -1.5.
- Damping reduces motion. Max Velocity and Max Angular Vel cap it, while Sleep Threshold and Sleep Gate control when settled bodies sleep.
- Contact Stiffness and the joint stiffness controls tune resistance to separation or penetration. In True Convex, Restitution controls bounce and Contact Skin adds a speculative contact margin.
- Velocity Field Coupling and Buoyancy both start at 0. Set the relevant value after connecting the resource. Publish Contact Set controls outgoing contacts; Max Foreign Contacts caps incoming contact data.
Body Source, Contact Model and Body Shape are separate choices. Do not treat the active convex mesh option as arbitrary concave collision geometry.
Contact publication does not connect other solvers automatically. Add the intended Connections rows and check their Status. Start with a small body count before increasing Max Bodies or the procedural pile.
Inputs
-
geometrypoints -
sdfsdf collider -
pointspoints -
velocityvelocity field -
contactscontacts -
fielddensity field
Outputs
-
Ppoints -
vpoints -
idpoints -
Cdpoints -
orientpoints -
xformtransforms -
contactcontacts -
meshmesh
Parameters
Section titled “Parameters”Rigid
op('rigid').par.Autorebuild - Default:
On- Options:
- Off, On
op('rigid').par.Rebuildnow - Default:
None
op('rigid').par.Simulate - Default:
On- Options:
- Off, On
op('rigid').par.Resetsolver - Default:
None
Solver
op('rigid').par.Dt - Default:
0.0166667- Range:
- 0.0001 to 0.5
op('rigid').par.Substeps - Default:
4- Range:
- 1 to 16
op('rigid').par.Iterations - Default:
10- Range:
- 1 to 64
op('rigid').par.Chebrho - Default:
0.95- Range:
- 0 to 0.999
Author
op('rigid').par.Hdrauthor Read only.
- Default:
"" (Empty String)
op('rigid').par.Spec - Default:
"" (Empty String)
op('rigid').par.Maxbodies - Default:
16384- Range:
- 64 to 262144
op('rigid').par.Procbodies - Default:
4096- Range:
- 1 to 2000000
Rules
op('rigid').par.Hdrrules Read only.
- Default:
"" (Empty String)
op('rigid').par.Rigidrules - Default:
"" (Empty String)
Bodies
op('rigid').par.Hdrbodies Read only.
- Default:
"" (Empty String)
op('rigid').par.Bodysize - Default:
0.06- Range:
- 0.005 to 2
op('rigid').par.Autospace - Default:
On- Options:
- Off, On
op('rigid').par.Hdractivemesh Read only.
- Default:
"" (Empty String)
op('rigid').par.Meshvelocityscale - Default:
1- Range:
- 0 to 10
op('rigid').par.Meshmaxsurfacevelocity - Default:
20- Range:
- 0 to 500
op('rigid').par.Density - Default:
700- Range:
- 1 to 100000
op('rigid').par.Friction - Default:
0.5- Range:
- 0 to 1
op('rigid').par.Samplelattice - Default:
2- Range:
- 2 to 5
Forces
op('rigid').par.Hdrforces Read only.
- Default:
"" (Empty String)
op('rigid').par.Gravityx - Default:
0- Range:
- -30 to 30
op('rigid').par.Gravityy - Default:
-9.81- Range:
- -30 to 30
op('rigid').par.Gravityz - Default:
0- Range:
- -30 to 30
op('rigid').par.Damping - Default:
0.999- Range:
- 0 to 1
op('rigid').par.Windcoupling - Default:
0- Range:
- 0 to 1000
op('rigid').par.Floorenabled - Default:
On- Options:
- Off, On
op('rigid').par.Floory - Default:
-1.5- Range:
- -3 to 1
op('rigid').par.Hdrkin Read only.
- Default:
"" (Empty String)
op('rigid').par.Kinematiccap - Default:
0- Range:
- 0 to 262144
op('rigid').par.Kinematicradius - Default:
0.05- Range:
- 0.005 to 0.5
Coupling
op('rigid').par.Hdrcouple Read only.
- Default:
"" (Empty String)
op('rigid').par.Publishcontacts - Default:
On- Options:
- Off, On
op('rigid').par.Coupleweight - Default:
1- Range:
- 0 to 2
op('rigid').par.Maxforeign - Default:
65536- Range:
- 0 to 4000000
op('rigid').par.Buoyancy - Default:
0- Range:
- 0 to 100
op('rigid').par.Waterlevel - Default:
0- Range:
- -100 to 100
op('rigid').par.Waterheightscale - Default:
1- Range:
- 0 to 100
op('rigid').par.Waterdrag - Default:
2- Range:
- 0 to 50
Contacts
op('rigid').par.Hdrhard Read only.
- Default:
"" (Empty String)
op('rigid').par.Contactstiffness - Default:
100000- Range:
- 1000 to 10000000
op('rigid').par.Maxvelocity - Default:
12- Range:
- 0.1 to 100
op('rigid').par.Maxangular - Default:
50- Range:
- 0.1 to 500
op('rigid').par.Warmstart - Default:
On- Options:
- Off, On
op('rigid').par.Warmstartlambda - Default:
0.25- Range:
- 0 to 1
op('rigid').par.Hdrsleep Read only.
- Default:
"" (Empty String)
op('rigid').par.Sleepthreshold - Default:
0.06- Range:
- 0 to 2
op('rigid').par.Sleepsubsteps - Default:
8- Range:
- 1 to 255
op('rigid').par.Hdrjoint Read only.
- Default:
"" (Empty String)
op('rigid').par.Jointstiffness - Default:
1000000- Range:
- 1000 to 10000000
op('rigid').par.Jointkmax - Default:
100000000- Range:
- 1000 to 100000000
Convex
op('rigid').par.Hdrconvex Read only.
- Default:
"" (Empty String)
op('rigid').par.Restitution - Default:
0- Range:
- 0 to 1
op('rigid').par.Relaxation - Default:
0.2- Range:
- 0.05 to 1
op('rigid').par.Baumgarte - Default:
0.2- Range:
- 0 to 1
op('rigid').par.Penetrationslop - Default:
0.0015- Range:
- 0 to 1
op('rigid').par.Skin - Default:
0.01- Range:
- 0 to 10
op('rigid').par.Maxdepenvel - Default:
3- Range:
- 0 to 1000
op('rigid').par.Sdfspecband - Default:
0.08- Range:
- 0 to 2
op('rigid').par.Hdrcvjoint Read only.
- Default:
"" (Empty String)
op('rigid').par.Jointiterations - Default:
8- Range:
- 1 to 32
op('rigid').par.Jointbaumgarte - Default:
0.2- Range:
- 0 to 1
op('rigid').par.Jointmaxcorr - Default:
2- Range:
- 0.01 to 1000
Color
op('rigid').par.Colorsat - Default:
0.65- Range:
- 0 to 1
op('rigid').par.Colorval - Default:
0.85- Range:
- 0 to 1
op('rigid').par.Colorspeed - Default:
0- Range:
- 0 to 1
op('rigid').par.Colorspeedmax - Default:
8- Range:
- 0.01 to 40
Outputs
op('rigid').par.Drivername - Default:
rigid_drivers