Crates.io | bevy_prank |
lib.rs | bevy_prank |
version | 0.8.0 |
source | src |
created_at | 2023-08-03 18:31:07.326965 |
updated_at | 2023-08-17 17:54:44.386892 |
description | Opinionated Unreal Engine inspired spectator camera for the Bevy game engine |
homepage | |
repository | https://github.com/utilyre/bevy_prank |
max_upload_size | |
id | 933939 |
size | 131,687 |
Opinionated Unreal Engine inspired spectator camera for the Bevy game engine.
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.
Install the crate using cargo
cargo add bevy_prank
Add PrankPlugin
to your app
use bevy::prelude::*;
use bevy_prank::prelude::*;
fn main() {
App::new()
// ...
.add_plugins((DefaultPlugins, PrankPlugin::default()))
// ...
.run();
}
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.
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 |