11 unstable releases (3 breaking)
0.4.0 | Jul 11, 2023 |
---|---|
0.3.0 | May 12, 2023 |
0.2.2 | Aug 28, 2022 |
0.2.0 | Jul 31, 2022 |
0.1.5 | Jul 19, 2022 |
#1455 in Game dev
7MB
601 lines
Wanderlust
Wanderlust is a character controller addon. Inspired by this excellent video and my previous attempts at creating a character controller, it is implemented on top of Rapier physics and highly customizable.
Wanderlust does not handle mouselook, as it's more-or-less trivial to implement compared to movement, and would add significant complexity to build in
as many projects will have vastly different requirements for mouselook. The first_person.rs
example includes an example mouselook implementation.
To use Wanderlust, simply add the WanderlustPlugin
to your App
, and create an entity with the CharacterControllerBundle
.
Planned Features
- Wallrunning
- Be more agnostic to up-vectors
- More examples
- 2D
- Mario-Galaxy-style planetoids
- Moving platforms
- Fix various jitter issues
Potential Features
- Become agnostic to physics backend?
- Dashing?
- Ledge grappling?
- Input rework?
- More bundles for different common configurations?
Contributions
Wanderlust is intended to cover nearly every possible use case of a character controller, so if your use case is not supported (or there's a feature you would like to see) please drop an issue on the repository! PRs are also welcome, but I may not accept all PRs. Open an issue first if you're not certain that I would accept.
Examples
The first_person.rs
example which shows a simple character controller setup.
The starship.rs
example which shows a simple spaceship controller setup.
Dual-licensed under MIT OR Apache 2.0.
Dependencies
~40–75MB
~1.5M SLoC