bevy_verlet
Simple Verlet points and sticks implementation for bevy.
Features
You can simply add a VerletPoint
component on any entity with a Transform
and the verlet physics will apply.
Connect points using VerletStick
to constrain movement (see examples).
Lock some points by adding the VerletLocked
component on a VerletPoint
entity.
Customize friction and gravity with the VerletConfig
resource.
Works in 2D and 3D.
Cargo features
debug
This feature will add a system drawing debug lines for every stick using bevy_prototype_debug_lines
Examples
2D
-
2D Line
cargo run --example 2d_line --features "debug"
-
2D cloth
cargo run --example 2d_cloth --features "debug"
-
2D cloth cutting
cargo run --example 2d_cloth_cutter --features "debug" --release
Note: the release flag is necessary for smooth running
3D
cargo run --example 3d_line --features "debug"
cargo run --example 3d_cloth --features "debug"
Credits
Inspired by:
- This Sebastian Lague video
- This Coding Math course