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 |
#1470 in Game dev
552 downloads per month
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
~21–60MB
~1M SLoC