#camera #camera-control #bevy #rts #gamedev

bevy_rts_camera

为Bevy提供的RTS风格摄像头

16个版本 (7个重大更新)

0.8.1 2024年7月5日
0.7.2 2024年6月10日
0.4.0 2024年3月11日

843游戏开发

Download history 440/week @ 2024-04-15 207/week @ 2024-04-22 14/week @ 2024-04-29 369/week @ 2024-05-06 32/week @ 2024-05-13 150/week @ 2024-05-20 9/week @ 2024-06-03 214/week @ 2024-06-10 7/week @ 2024-06-17 223/week @ 2024-07-01 24/week @ 2024-07-08 8/week @ 2024-07-15 17/week @ 2024-07-29

每月 69 次下载

MIT/Apache

40KB
429

Crates.io docs.rs Bevy tracking

Bevy RTS Camera

A screen recording showing camera movement

摘要

Bevy RTS Camera为Bevy引擎提供RTS风格的摄像头,让您快速开始游戏。设计用于简单用例,不试图覆盖高级需求。

特性

  • 平移、缩放和旋转
  • 自动跟随标记为'地面'的任何对象
  • 平滑移动
  • 可自定义的控制和其他设置
  • 包含可选控制器,或您可以自行控制

默认控制器

包含这些默认控制器的默认控制器

  • 箭头键:平移
  • 鼠标滚轮:缩放
  • 中间鼠标按钮:旋转

您还可以通过将鼠标移动到屏幕边缘进行“边缘平移”。

快速入门

添加插件

.add_plugins(RtsCameraPlugin)

RtsCamera 添加到摄像头

commands.spawn((
    Camera3dBundle::default(),
    RtsCamera::default(),
    RtsCameraControls::default(),  // Optional
));

Ground 添加到您的地面/地形实体

commands.spawn((
    PbrBundle {
        mesh: meshes.add(Plane3d::default().mesh().size(80.0, 80.0)),
        ..default()
    },
    Ground,
));

这将设置一个在世界原点处的摄像头,并根据大约真实的比例(平均人类高度为1.75单位)设置良好的默认值。

查看 高级示例 以查看可能的配置选项。

版本兼容性

bevy bevy_rts_camera
0.13 0.1-0.7

许可

本仓库中所有代码均采用以下任一许可协议

您可以根据自己的喜好选择许可证。这种双重许可方法是Rust生态系统的既定标准,并且包含非常好的理由来包含两者。

依赖

~34–71MB
~1M SLoC