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

#1640 in Game dev

Download history 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 59/week @ 2024-04-29 36/week @ 2024-05-06 59/week @ 2024-05-13 61/week @ 2024-05-20 51/week @ 2024-05-27 70/week @ 2024-06-03 40/week @ 2024-06-10 51/week @ 2024-06-17 58/week @ 2024-06-24

227 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

~20–56MB
~1M SLoC