Expand description
Structures related to dynamics: bodies, impulse_joints, etc.
Structs§
- Axes
Mask - Flags affecting the behavior of the constraints solver for a given contact manifold.
- Body
Pair - A pair of rigid body handles.
- CCDSolver
- Continuous Collision Detection solver preventing fast objects from tunneling:
after the solver, bodies that moved more than half their thinnest extent sweep their colliders
and
next_positionis clamped to the earliest impact — velocities untouched, no re-solve; the residual approach resolves next step via speculative contacts. - Fixed
Joint - A joint that rigidly connects two bodies together (like welding them).
- Fixed
Joint Builder - Create fixed joints using the builder pattern.
- Generic
Joint - A generic joint.
- Generic
Joint Builder - Create generic joints using the builder pattern.
- Impulse
Joint - An impulse-based joint attached to two bodies.
- Impulse
Joint Handle - The unique identifier of a joint added to the joint set.
- Impulse
Joint Set - The collection that stores all joints connecting rigid bodies in your physics world.
- Integration
Parameters - Configuration parameters that control the physics simulation quality and behavior.
- Inverse
Kinematics Option - Options for the jacobian-based Inverse Kinematics solver for multibodies.
- Island
Manager - System that manages which bodies are active (awake) vs sleeping to optimize performance.
- Joint
Axes Mask - A bit mask identifying multiple degrees of freedom of a joint.
- Joint
Limits - Limits that restrict a joint’s range of motion along one axis.
- Joint
Motor - A powered motor that drives a joint toward a target position/velocity.
- Locked
Axes - Flags that lock specific movement axes to prevent translation or rotation.
- Mass
Properties - The mass properties of a rigid body.
- Multibody
- An articulated body simulated using the reduced-coordinates approach.
- Multibody
DofCoupling - A holonomic coupling between two generalized coordinates of a single
Multibody,q2 = coeff · q1 + offset, enforced as a velocity-level equality constraint. This is how MuJoCo’s<equality><joint>(a polynomial joint-to-joint coupling) is represented for the linear (first-order) case — e.g. the robotiq gripper’s two driver joints moving together. - Multibody
Index - The temporary index of a multibody added to a
MultibodyJointSet. - Multibody
Joint - An joint attached to two bodies based on the reduced coordinates formalism.
- Multibody
Joint Handle - The unique handle of an multibody_joint added to a
MultibodyJointSet. - Multibody
Joint Set - A set of rigid bodies that can be handled by a physics pipeline.
- Multibody
Link - One link of a multibody.
- Multibody
Link Id - Indexes usable to get a multibody link from a
MultibodyJointSet. - PinSlot
Joint - A pin slot joint, locks all relative motion between two bodies except for translation along the joint’s principal axis and relative rotations. This joint is also known as a groove joint in Godot.
- PinSlot
Joint Builder - Create pin slot joints using the builder pattern.
- Prismatic
Joint - A sliding joint that allows movement along one axis only (like a piston or sliding door).
- Prismatic
Joint Builder - Create prismatic joints using the builder pattern.
- Revolute
Joint - A hinge joint that allows rotation around one axis (like a door hinge or wheel axle).
- Revolute
Joint Builder - Create revolute joints using the builder pattern.
- Rigid
Body - A physical object that can move, rotate, and collide with other objects in your simulation.
- Rigid
Body Activation - Controls when a body goes to sleep (becomes inactive to save CPU).
- Rigid
Body Builder - A builder for creating rigid bodies with custom properties.
- Rigid
Body Ccd - Information used for Continuous-Collision-Detection.
- Rigid
Body Changes - Flags describing how the rigid-body has been modified by the user.
- Rigid
Body Colliders - The set of colliders attached to this rigid-bodies.
- Rigid
Body Damping - Damping factors to progressively slow down a rigid-body.
- Rigid
Body Dominance - The dominance groups of a rigid-body.
- Rigid
Body Forces - The user-defined external forces applied to this rigid-body.
- Rigid
Body Handle - The unique handle of a rigid body added to a
RigidBodySet. - Rigid
Body Ids - Internal identifiers used by the physics engine.
- Rigid
Body Mass Props - The mass properties of a rigid-body.
- Rigid
Body Position - The position of this rigid-body.
- Rigid
Body Set - The collection that stores all rigid bodies in your physics world.
- Rigid
Body Velocity - The velocities of this rigid-body.
- Rope
Joint - A distance-limiting joint (like a rope or cable connecting two objects).
- Rope
Joint Builder - Create rope joints using the builder pattern.
- Soft
Bodies Settings - Simulation settings shared by every soft body of a world.
- Soft
Body - A deformable body:
SoftBodyParticles linked by elastic elements (SoftBodyEdges, bending,SoftBodyCells, volume preservation, shape matching). Its hidden root rigid body (tagged bycrate::dynamics::RigidBody::soft_body) must never be moved, removed or attached to joints. - Soft
Body Builder - A builder for
crate::dynamics::SoftBodys: particles are given in world space and elements reference particles by index. The generators (Self::rope, pluscloth/cuboid/spherein 3D andpolygon/disk/gridin 2D) make complete bodies; the setters build any body. - Soft
Body Cell - A simplex cell of a soft body: a triangle in 2D, a tetrahedron in 3D.
- Soft
Body Cluster - A cluster of a soft body: a set of its particles backed by a proxy rigid body
(
crate::dynamics::RigidBodyType::SoftFrame) carrying its frame, gathered velocity and reduced mass. A rank-deficient one (one particle, or collinear in 3D) has no angular response. - Soft
Body Edge - A distance constraint between two particles of a soft body.
- Soft
Body Handle - The unique handle of a soft body added to a
super::SoftBodySet. - Soft
Body Material - The stiffness and damping of every soft-body constraint family: a
natural_frequency(Hz) anddamping_ratioper family, normalized by the constraint’s effective mass (independent of mass, substeps and timestep); a frequency far above the substep rate saturates instead of exploding. - Soft
Body Particle - One particle (point mass) of a soft body: plain state owned by its
crate::dynamics::SoftBody, given its own solver body for the step when the body is awake. A pinned particle (inv_mass == 0) is kinematic: it moves at its velocity or toward its target. - Soft
Body Particle Settings - The dynamics settings shared by every particle of a soft body.
- Soft
Body Piece - A soft body a tear left: the torn body itself, or a body split off it (see
SoftBodyTearEvent::pieces). - Soft
Body Set - A set of soft bodies that can be handled by a physics pipeline. Inserting a soft body creates
its hidden root rigid body in the
RigidBodySet(seeSoftBody) and its colliders in theColliderSet; removing it removes them, so never remove those yourself. - Soft
Body Tear Event - What a tear or a cut did to a soft body (see
EventHandler::handle_soft_body_tear_event,crate::dynamics::SoftBodySet::tearandcrate::dynamics::SoftBodySet::cut); the indices oftorn_edges/torn_cellspredate the tear, the others follow it, before the split. - Soft
Cluster Removal - What
crate::dynamics::SoftBodySet::remove_cluster(or removing a proxy rigid body) deleted: the particles only the removed cluster covered, and everything attached to them. - Soft
Cluster Split - A cluster piece a tear left: where a cluster the crack ran through ended up (see
SoftBodyTearEvent::clusters). - Soft
Collision Mesh - A mesh a soft body collides through: a polyline (2D) or triangle mesh (3D) whose vertices follow the body’s particles, and the collider holding it. A skinned mesh carries thin features the coarse cells cannot: its vertices are barycentric combinations of the particles.
- Soft
Joint Move - An impulse joint a tear re-attached: its proxy was split, and the piece closest to the joint’s
anchor in the rest shape is not the one that kept the proxy (see
SoftBodyTearEvent::moved_joints). - Soft
Mesh Binding - How a deformable collider follows its soft body, and the collision settings that are not the collider’s own.
- Soft
Mesh Cell Binding - Where a skinned collision-mesh vertex rides: the cell holding it, and its barycentric coordinates in that cell. The coordinates are not clamped, so a vertex the cells do not cover is bound to the closest one through an extrapolation and follows it.
- Soft
Mesh Id - Where a collision mesh lives in its soft body: the cluster owning it, and its slot in that cluster. Stable for the mesh’s whole life (removed meshes leave a dead slot).
- Soft
Mesh Ref - A collision mesh of a given soft body: what a deformable collider points back to.
- Soft
Particle Attachment - A particle of a soft body attached to a rigid body (see
SoftBody::attach_particle): a point-to-point constraint between the particle and a point of the body. - Soft
Recovery Settings - Runtime configuration of the soft-body tangle detection and recovery stack. It lives on
crate::dynamics::SoftBodiesSettings::recovery(itself onIntegrationParameters::soft_bodies), so it can be changed between steps. - Soft
Volume Contact - One volume constraint assembled at the last step (a bin of a pair’s volume contact, see
SoftOverlapConstraint), kept for debug rendering: center, normal (from the owner body into the other side), signed volume estimate, and every entry’s position and volume gradient. - Soft
Volume Piece - A piece of a soft body’s material enclosed by closed boundary elements (see
SoftBody::volume_pieces): its volume constraint holds the area/volume it encloses at its rest one times the body’s volume factor. - Spring
Coefficients - Coefficients for a spring, typically used for configuring constraint softness for contacts and joints.
- Spring
Joint - A spring joint that pulls/pushes two bodies toward a target distance (like a spring or shock absorber).
- Spring
Joint Builder - A SpringJoint joint using the builder pattern.
Enums§
- Coefficient
Combine Rule - How to combine friction/restitution values when two colliders touch.
- Joint
Axis - Identifiers of degrees of freedoms of a joint.
- Joint
Enabled - Enum indicating whether or not a joint is enabled.
- Motor
Model - How motor stiffness/damping values are interpreted (mass-dependent vs mass-independent).
- Rigid
Body Additional Mass Props - Mass and angular inertia added to a rigid-body on top of its attached colliders’ contributions.
- Rigid
Body Type - The type of a rigid body, determining how it responds to forces and movement.
- Soft
Binding Error - Why a mesh could not be bound to a cluster
(
crate::geometry::ColliderSet::insert_deformable). - Soft
Body Cell Model - The constitutive model of a soft body’s cells (triangles in 2D, tetrahedra in 3D).
- Soft
Body Edge Kind - The role of a soft-body edge (distance constraint).
- Soft
Edge Plastic Flow - Which strains make a soft-body edge flow plastically (see
SoftBodyMaterial::edge_plastic_yield). - Soft
Mesh Binding Mode - How a collision mesh should be bound to its cluster, requested at insertion
(
crate::geometry::ColliderSet::insert_deformable). - Soft
Mesh Mapping - How a collision mesh’s vertices are mapped onto a soft body’s computational mesh, as
resolved at insertion (see
crate::dynamics::SoftMeshBindingfor the request). - Soft
Patch Constraints - What the per-point constraints of the features a volume constraint acts on do (see
SoftRecoverySettings::overlap_patch_constraints).
Constants§
- SOFT_
BODY_ MAX_ CONSTRAINT_ PARTICLES - Number of particles a soft-body constraint can touch (a simplex cell).
Functions§
- unit_
joint_ friction_ constraint - Generates the dry-friction (MuJoCo
frictionloss) velocity constraint for one generalized DoF. - unit_
joint_ limit_ constraint - Initializes and generate the velocity constraints applicable to the multibody links attached to this multibody_joint.
- unit_
joint_ motor_ constraint - Initializes and generate the velocity constraints applicable to the multibody links attached to this multibody_joint.
Type Aliases§
- Body
Status Deprecated - The type of a body, governing the way it is affected by external forces.