4 个版本
0.2.1 | 2024 年 7 月 20 日 |
---|---|
0.2.0 | 2024 年 7 月 20 日 |
0.1.1 | 2024 年 7 月 19 日 |
0.1.0 | 2024 年 7 月 17 日 |
#211 在 硬件支持
每月 355 次下载
37KB
610 行
bevy_simple_camera_controller
工作进行中!
为 Bevy 0.14.0 制作的 3D 相机控制器
我是 Rust 和 Bevy 的新手。随着我对两者的理解加深,该项目将发生变化。
尝试让添加相机控制器到 Bevy 项目变得容易。主要关注易用性。
相机类型
- 自由飞行
- 顶部视角
- 轨道
- 通过构建器模式自定义相机
输入
- 键盘
- 鼠标
- 键盘的自定义键绑定
功能
- 捕获鼠标焦点。鼠标始终位于屏幕中央(按 ESC 取消)
- 隐藏鼠标。
示例
自由飞行
使用 WASD 移动相机。
使用鼠标旋转相机。
mod common;
use bevy_simple_camera_controller::prelude::*;
use bevy::prelude::*;
use common::utils;
fn main() {
let mut app = App::new();
app.add_plugins((
DefaultPlugins,
// 1: Setup camera
FreeFlightControllerBuilder::default().build()
));
app.add_systems(Startup, (
// 2: Create camera
CameraControllerPlugin::create_camera,
utils::setup_example_scene,
));
app.run();
}
顶部视角
使用 WASD 移动相机。
mod common;
use bevy_simple_camera_controller::prelude::*;
use bevy::prelude::*;
use common::utils;
fn main() {
let mut app = App::new();
app.add_plugins((
DefaultPlugins,
// 1: Setup camera
TopDownControllerBuilder::default().build()
));
app.add_systems(Startup, (
// 2: Create camera
CameraControllerPlugin::create_camera,
utils::setup_example_scene,
));
app.run();
}
轨道
使用鼠标旋转相机
mod common;
use bevy_simple_camera_controller::prelude::*;
use bevy::prelude::*;
use common::utils;
fn main() {
let mut app = App::new();
app.add_plugins((
DefaultPlugins,
// 1: Setup camera
OrbitControllerBuilder::default().
with_grab_cursor().
set_rotation_speed(2.0).
build()
));
app.add_systems(Startup, (
// 2: Create camera
CameraControllerPlugin::create_camera,
// Adds CameraOrbitTag to cube in order to set it as rotation target
utils::setup_example_scene,
));
app.run();
}
兼容性
Bevy | bevy_simple_camera_controller |
---|---|
0.14 |
0.1.0 |
依赖项
~22MB
~402K SLoC