#camera-control #camera #fly #orbit #bevy #gamedev

bevy_blendy_cameras

类似于Bevy编辑器的相机控制,支持平移/轨道/缩放和飞行模式。切换模式,设置相机视角和实体周围的框架视图

5个版本 (3个重大更改)

新功能 0.4.0 2024年8月12日
0.3.1 2024年7月31日
0.3.0 2024年7月31日
0.2.0 2024年7月26日
0.1.0 2024年7月26日

#351游戏开发

Download history 106/week @ 2024-07-20 244/week @ 2024-07-27 18/week @ 2024-08-03 116/week @ 2024-08-10

每月484次下载

MIT/Apache

79KB
1.5K SLoC

Bevy Blendy Cameras

摘要

类似于Blender视口相机控制的编辑器式相机控制和功能。

功能

  • 带有“缩放到鼠标位置”和“自动深度”选项的平移/轨道/缩放相机控制
  • 飞行相机控制
  • 移动到视图点(顶部、底部、前面、后面、左侧、右侧)
  • 将实体框架到视图中
  • 在轨道和飞行旋转期间捕获光标或将光标包裹在视口中
  • Egui支持

待办事项

  • 干净代码
  • 使飞行模式与正交投影一起工作
  • 支持平移运动的“自动深度”。这样,在平移过程中,鼠标光标下的射线投射始终保持在鼠标光标下方,如果没有捕获/包裹光标。
  • 使用于“自动深度”的射线投射尊重材质背面裁剪设置。也许可选地,因为这可能与用户用于其他用途的其他射线投射选项冲突。

默认控制

OrbitCameraController

  • 中鼠标拖动 - 轨道
  • Shift + 中鼠标拖动 - 平移
  • 滚动轮 - 缩放

FlyCameraController

  • 中鼠标拖动 - 旋转
  • 滚动轮 - 改变移动速度
  • E - 向前移动(缩放)
  • D - 向后移动(取消缩放)
  • S - 向左移动
  • F - 向右移动
  • W - 向下移动
  • R - 向上移动

快速入门

添加插件

.add_plugins(BlendyCamerasPlugin)

将控制器组件添加到相机

commands.spawn((
    Camera3dBundle {
        transform: Transform::from_translation(Vec3::new(0.0, 1.5, 5.0)),
        ..default()
    },
    OrbitCameraController::default(),
    FlyCameraController {
        is_enabled: false,
        ..default()
    },
));

查看基本示例以查看更多功能。

Cargo功能

  • bevy_egui(可选):当egui有焦点时忽略输入

版本兼容性

bevy bevy_blendy_cameras
0.14 0.2-0.3
0.13 0.1

致谢

免责声明

我对Rust和Bevy都有些陌生,并且此插件处于早期阶段。欢迎帮助。

依赖关系

~37–74MB
~1.5M SLoC