A basic fps-style flycamera for bevy
- WASD to move
- LCTRL to descend
- Space to ascend
- Escape to unlock cursor
The controls are customizable
- 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();
}
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();
}