rigid_body_gravity
Gravity is such a common force that it is implemented as a special case (even if it could easily be implemented
by the user using force application). PhysicsPipeline::step
method and can be modified at will by simply modifying that argument.RapierConfiguration::gravity
of the resource RapierConfiguration
and can be modified at
will.World
. It can be modified by modifying the
field World.gravity
.
Because fixed and kinematic bodies are immune to forces, they are not affected by gravity.
A rigid-body with no mass will not be affected by gravity either. So if your rigid-body doesn't fall when you expected it to, make sure it has a mass set explicitly, or has at least one collider with non-zero density attached to it.
It is possible to change the way gravity affects a specific rigid-body by setting the rigid-body's gravity scale
to a value other than 1.0
. The magnitude of the gravity applied to this body will be multiplied by this scaling
factor. Therefore, a gravity scale set to 0.0
will disable gravity for the rigid-body whereas a gravity scale set to
2.0
will make it twice as strong. A negative value will flip the direction of the gravity for this rigid-body.
This gravity scale factor can be set when the rigid-body is created or after its creation:
<load path='/2d/rust/examples/rs_rigid_bodies2.rs' marker='Gravity1' />
<load path='/2d/rust/examples/rs_rigid_bodies2.rs' marker='Gravity2' />
<load path='/3d/bevy/examples/rigid_bodies3.rs' marker='Gravity1' />
<load path='/3d/bevy/examples/rigid_bodies3.rs' marker='Gravity2' />
<load path='/2d/javascript/src/snippets/rigid_bodies.ts' marker='Gravity1' />
<load path='/2d/javascript/src/snippets/rigid_bodies.ts' marker='Gravity2' />