rigid_body_creation_and_insertion
A rigid-body is created by a RigidBodyBuilder
structure that is based on the builder pattern. Then it needs
to be inserted into the RigidBodySet
that will be processed by the physics-pipeline or query-pipeline.
The following example shows several setters that can be called to customize the rigid-body being built. The input values are just random so using this example as-is will not lead to a useful result.
- Example 2D
- Example 3D
<load path='/2d/rust/examples/rs_rigid_bodies2.rs' marker='Creation' />
<load path='/3d/rust/examples/rs_rigid_bodies3.rs' marker='Creation' />
All the properties are optional. The only calls that are required are RigidBodyBuilder::new(status)
,
RigidBodyBuilder::fixed()
, RigidBodyBuilder::dynamic()
, RigidBodyBuilder::kinematic_velocity_based()
,
or RigidBodyBuilder::kinematic_position_based()
, to
initialize the builder, and .build()
to actually build the rigid-body.
A rigid-body is created by adding the RigidBody
component to an entity. Other components
like Transform
, Velocity
, Ccd
, etc. can be added for further customization of the
rigid-body.
The following example shows several initialization of components to customize rigid-body being built. The input values are just random so using this example as-is will not lead to a useful result.
- Example 2D
- Example 3D
<load path='/2d/bevy/examples/rigid_bodies2.rs' marker='Creation' />
<load path='/3d/bevy/examples/rigid_bodies3.rs' marker='Creation' />
A rigid-body is created by a World.createRigidBody
method. The initial state of
the rigid-body to create is described by an instance of the RigidBodyDesc
class.
Each rigid-body create by the physics world is given an integer identifier rigidBody.handle
. This identifier
is guaranteed to the different from any identifier of rigid-bodies still existing (or that existed) in the physics
world.
The following example shows several setters that can be called to customize the rigid-body being built. The input values are just random so using this example as-is will not lead to a useful result.
- Example 2D
- Example 3D
<load path='/2d/javascript/src/snippets/rigid_bodies.ts' marker='Creation' />
<load path='/3d/javascript/src/snippets/rigid_bodies.ts' marker='Creation' />
Typically, the inertia and center of mass are automatically set to the inertia and center of mass resulting from the shapes of the colliders attached to the rigid-body. But they can also be set manually.