[![Crates.io](https://img.shields.io/crates/v/bevy_fly_camera)](https://crates.io/crates/bevy_fly_camera)
# bevy-fly-camera
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:
# 3D
- W / A / S / D - Move along the horizontal plane
- Space - Move upward
- L Shift - Move downward
```rust
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();
}
```
[Runnable 3D Example](examples/basic.rs)
# 2D
- W / A / S / D - Move along the 2d plane
```rust
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();
}
```
[Runnable 2D Example](examples/2d.rs)
---
If you like this crate, there are some [issues](https://github.com/mcpar-land/bevy_fly_camera/issues/7) 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.
---
# Version Matching
| 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` |