How to Use Physics Engines in Rust (rapier)

Add the rapier2d or rapier3d crate to Cargo.toml and initialize a PhysicsPipeline to simulate rigid bodies in Rust.

Add the rapier2d or rapier3d crate to your Cargo.toml and initialize a Physics pipeline in your main.rs to start simulating rigid bodies.

[dependencies]
rapier2d = "0.23"
use rapier2d::dynamics::RigidBodyBuilder;
use rapier2d::pipeline::PhysicsPipeline;
use rapier2d::geometry::ColliderBuilder;
use rapier2d::na::Vector2;

fn main() {
    let mut pipeline = PhysicsPipeline::new();
    let mut bodies = rapier2d::dynamics::RigidBodySet::new();
    let mut colliders = rapier2d::geometry::ColliderSet::new();

    let body = RigidBodyBuilder::dynamic()
        .position(Vector2::new(0.0, 1.0))
        .build();
    bodies.insert(body);

    let collider = ColliderBuilder::cuboid(0.5, 0.5).build();
    colliders.insert(collider, bodies.handles()[0], &mut bodies);

    pipeline.step(&mut bodies, &mut colliders, &mut rapier2d::geometry::NarrowPhase::new(), &rapier2d::pipeline::QueryPipeline::new());
}