11 releases (breaking)
0.9.0 | Jul 12, 2024 |
---|---|
0.8.0 | Feb 20, 2024 |
0.7.0 | Dec 2, 2023 |
0.6.1 | Jul 27, 2023 |
0.1.1 | Oct 16, 2021 |
#990 in Game dev
31KB
322 lines
Verlet Integration for Bevy
Simple Verlet points and sticks implementation for bevy.
If you are looking for cloth physics, please check
bevy_silk
instead
Bevy versions
bevy_verlet |
bevy |
---|---|
0.1.x | 0.5.x |
0.2.x | 0.6.x |
0.3.x | 0.7.x |
0.4.x | 0.8.x |
0.5.x | 0.9.x |
0.6.x | 0.11.x |
0.7.x | 0.12.x |
0.8.x | 0.13.x |
0.9.x | 0.14.x |
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 gizmos
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"
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
Dependencies
~20–59MB
~1M SLoC