11 releases (breaking)

0.10.0 Mar 6, 2023
0.8.0 Jan 8, 2022
0.7.0 Apr 7, 2021
0.6.0 Dec 20, 2020
0.5.0 Nov 4, 2020

#1480 in Game dev

Download history 39/week @ 2024-01-08 17/week @ 2024-01-15 13/week @ 2024-01-22 5/week @ 2024-01-29 13/week @ 2024-02-05 29/week @ 2024-02-12 97/week @ 2024-02-19 81/week @ 2024-02-26 66/week @ 2024-03-04 81/week @ 2024-03-11 76/week @ 2024-03-18 15/week @ 2024-03-25 125/week @ 2024-04-01 40/week @ 2024-04-08 60/week @ 2024-04-15 85/week @ 2024-04-22

312 downloads per month
Used in 3 crates

MIT license

41KB
224 lines

Crates.io

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
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

2D

  • 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();
}

Runnable 2D Example


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.


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

Dependencies

~17–55MB
~895K SLoC