1 unstable release
0.7.0 | Jun 6, 2022 |
---|
#21 in #fps
11KB
166 lines
A basic fps-style flycamera for bevy
Controls
- WASD to move
- LCTRL to descend
- Space to ascend
- Escape to unlock cursor
The controls are customizable
Usage
- Add to Cargo.toml, matching major/minor with bevy
[dependencies]
bevy = "X.Y"
bevy-fpscam = "X.Y"
- Use the plugin
use bevy_fpscam::FpsCamPlugin;
This will spawn the camera for you. If you want to create
the camera yourself, use NoSpawnFpsCamPlugin
instead, and
add a FpsCam
component to your camera.
- Add the plugin
fn main() {
App::new()
.add_plugins(DefaultPlugins)
.add_plugin(FpsCamPlugin)
.run();
}
Customization
You can modify mouse sensitivity, movement speed and keybindings
by modifying the resource of type bevy_fpscam::Config
fn main() {
App::new()
.add_plugins(DefaultPlugins)
.add_plugin(FpsCamPlugin)
.insert_resource(bevy_fpscam::Config{
movespeed: 2.0,
sensitivity: 0.01,
key_bindings: KeyBindings {
unlock: Some(KeyCode::Enter),
..Default::default()
}}).run();
}
Dependencies
~29–44MB
~752K SLoC