bevy_fly_camera

Crates.iobevy_fly_camera
lib.rsbevy_fly_camera
version0.16.0
created_at2020-08-13 21:45:25.082107+00
updated_at2025-05-08 13:59:08.598068+00
descriptionA basic flying camera in Bevy
homepage
repositoryhttps://github.com/mcpar-land/bevy_fly_camera
max_upload_size
id276356
size155,474
John (mcpar-land)

documentation

README

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
0.10.0 0.10.0
0.11.0 0.11.0
0.12.0 0.12.0
0.13.0 0.13.0
0.14 0.14
0.15 0.15
0.16 0.16
Commit count: 58

cargo fmt