This is a really basic flying camera bundle and plugin for Bevy. It's useful for testing games before you've coded your own movement system.
It features both a 3d camera with Minecraft-style motion, and a 2d camera without mouse-looking.
Keybinds can be edited, but the defaults are:
- W / A / S / D - Move along the horizontal plane
- Space - Move upward
- L Shift - Move downward
use bevy::prelude::*;
use bevy_fly_camera::{FlyCamera, FlyCameraPlugin};
fn setup(commands: &mut Commands) {
commands
.spawn(Camera3dBundle::default())
.with(FlyCamera::default());
}
fn main() {
App::new()
.add_plugins(DefaultPlugins)
.add_startup_system(setup)
.add_plugin(FlyCameraPlugin)
.run();
}
- W / A / S / D - Move along the 2d plane
use bevy::prelude::*;
use bevy_fly_camera::{FlyCamera2d, FlyCameraPlugin};
fn setup(commands: &mut Commands) {
commands
.spawn(Camera2dBundle::default())
.with(FlyCamera2d::default());
}
fn main() {
App::new()
.add_plugins(DefaultPlugins)
.add_startup_system(setup)
.add_plugin(FlyCameraPlugin)
.run();
}
If you like this crate, there are some issues that I would love to get some help on to make it more maintainable!
If you use this crate in a project, I'd love to know about it! Send me a message or just open an issue about it! ♥
Any PRs are also welcome, though keep in mind that the project scope is intentionally tiny: A quick and dirty 3D motion camera, almost entirely intended for intermediate development steps or 3D demos.
Bevy Version | bevy_fly_camera Version |
---|---|
0.1.0 |
0.1.1 |
0.1.3 |
0.3.0 |
0.2 |
0.4.0 |
0.2.1 |
0.4.1 |
0.3.0 |
0.5.0 |
0.4.0 |
0.6.0 |
0.5.0 |
0.7.0 |
0.6.0 |
0.8.0 |
0.9.0 |
0.9.0 |
0.10.0 |
0.10.0 |