Skip to content

Opinionated Unreal Engine inspired spectator camera for the Bevy game engine

License

Notifications You must be signed in to change notification settings

utilyre/bevy_prank

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bevy Prank
version downloads issues license

Opinionated Unreal Engine inspired spectator camera for the Bevy game engine.

✨ Features

  • Provides smooth interpolation for movement without sacrificing camera's translation.

  • Includes an optional HUD overlay to display important information like FOV and FPS.

  • Automatically grabs cursor when MMB/RMB is held.

  • Allows complete control over movement via LShift prefixed controls.

📦 Installation

  1. Install the crate using cargo

    cargo add bevy_prank
  2. Add PrankPlugin to your app

    use bevy::prelude::*;
    use bevy_prank::prelude::*;
    
    fn main() {
        App::new()
            // ...
            .add_plugins((DefaultPlugins, PrankPlugin::default()))
            // ...
            .run();
    }

🚀 Usage

Spawn a Camera3dBundle along with a Prank3d component

use bevy::prelude::*;
use bevy_prank::prelude::*;

fn setup(mut commands: Commands) {
    commands.spawn((
        Prank3d::default(),
        Camera3dBundle::default(),
    ));
}

For further information see examples.

🎮 Controls

Control Action
MMB + Drag Offsets the camera on its local x (left/right) and y (top/bottom) axes
RMB + Drag Rotates the camera
RMB + Scroll Adjusts movement speed
RMB + W A S D Moves the camera on its local x (left/right) and z (front/back) axes
RMB + E Q Moves the camera on the y (top/bottom) axis
RMB + LShift + W A S D E Q Moves the camera on the x (left/right), y (top/bottom) axes, and z (front/back) axes

About

Opinionated Unreal Engine inspired spectator camera for the Bevy game engine

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages