Skip to main content

Body Nodes

Drop-in replacements for Godot's body nodes that expose Rapier-only settings in the inspector. Use them exactly like the node they extend.

NodeExtends
RapierRigidBody2D / RapierRigidBody3DRigidBody2D / RigidBody3D
RapierStaticBody2D / RapierStaticBody3DStaticBody2D / StaticBody3D
RapierAnimatableBody2D / RapierAnimatableBody3DAnimatableBody2D / AnimatableBody3D
RapierCharacterBody2D / RapierCharacterBody3DCharacterBody2D / CharacterBody3D
RapierArea2D / RapierArea3DArea2D / Area3D
RapierPhysicalBone2D / RapierPhysicalBone3DPhysicalBone2D / PhysicalBone3D
RapierVehicleBody3DVehicleBody3D

Properties

Rigid bodies, physical bones and the vehicle body expose all of these. Static, animatable and character bodies and areas expose only body_skin.

PropertyTypeDefaultWhat it does
body_skinfloat0Contact skin thickness. Contacts form at this distance, so bodies rest slightly apart. Hides jitter in stacks.
masslessboolfalseThe body has no mass of its own. Required for bodies in a multibody joint chain.
dominanceint0−127 to 127. Higher dominance is immovable to lower, as if it had infinite mass.
soft_ccdfloat0Motion clamp distance for soft continuous collision detection; 0 disables. Cheaper than full CCD.
additional_solver_iterationsint0Extra solver iterations for this body and everything it interacts with. Stabilizes one important body without a global cost.

Without the custom nodes

Every property is also reachable on a plain Godot node through the server:

RapierPhysicsServer2D.body_set_extra_param(
body.get_rid(), RapierPhysicsServer2D.BODY_PARAM_ADDITIONAL_SOLVER_ITERATIONS, 4)

See Physics Server for the constants.