附录 D:生态系统地图
Bevy 的生态系统围绕官方引擎快速增长。以下列出最常用、维护最活跃的社区 crate。
物理引擎
Avian(原 bevy_xpbd_oli-obk)
- 仓库:https://github.com/Jondolf/avian
- 定位:基于 XPBD(Extended Position-Based Dynamics)的物理引擎
- 特点:纯 Rust、ECS 原生集成、支持 2D/3D、碰撞检测、关节约束、触发器
- 适用:大多数游戏的物理需求
Rapier
- 仓库:https://github.com/dimforge/bevy_rapier
- 定位:基于 impulse 的物理引擎
- 特点:成熟稳定、确定性模拟、CCD(连续碰撞检测)
- 适用:需要确定性物理的场景(回放、网络同步)
UI 与调试
bevy_egui
- 仓库:https://github.com/mvlabat/bevy_egui
- 定位:即时模式 UI 框架 egui 的 Bevy 集成
- 特点:快速搭建调试面板、属性编辑器、开发者工具
- 适用:开发期 UI、调试工具
bevy_inspector_egui
- 仓库:https://github.com/jakobhellermann/bevy-inspector-egui
- 定位:运行时组件/资源检查器
- 特点:实时查看和修改实体的组件值、资源状态
- 适用:开发期调试
输入
leafwing-input-manager
- 仓库:https://github.com/Leafwing-Studios/leafwing-input-manager
- 定位:输入映射和动作绑定
- 特点:声明式输入绑定、组合键、轴映射、手柄支持
- 适用:需要复杂输入映射的游戏
地图与瓦片
bevy_ecs_tilemap
- 仓库:https://github.com/StarArawn/bevy_ecs_tilemap
- 定位:2D 瓦片地图
- 特点:高性能渲染、等距/六角/标准瓦片、自动贴片
- 适用:RPG、策略、塔防等瓦片游戏
动画
bevy_tweening
- 仓库:https://github.com/djeedai/bevy_tweening
- 定位:补间动画库
- 特点:Transform/颜色/自定义属性的插值动画
- 适用:UI 动画、简单特效
网络
lightyear
- 仓库:https://github.com/cBournhonesque/lightyear
- 定位:网络游戏框架
- 特点:状态同步、客户端预测、插值、服务器权威
- 适用:多人在线游戏
bevy_renet
- 仓库:https://github.com/lucaspoffo/renet
- 定位:基于 renet 的网络层
- 特点:UDP 传输、可靠/不可靠通道
- 适用:自定义网络协议
音频
bevy_kira_audio
- 仓库:https://github.com/NiklasEi/bevy_kira_audio
- 定位:基于 Kira 的音频库
- 特点:比官方音频更丰富的控制:变速、效果链、精确调度
- 适用:对音频有高要求的游戏
序列化与场景
bevy_save
- 仓库:https://github.com/obsidiandragon/bevy_save
- 定位:存档/读档系统
- 特点:自动序列化 ECS 状态、版本迁移
- 适用:需要存档功能的游戏
如何选择
| 需求 | 推荐 |
|---|---|
| 2D 物理 | Avian |
| 3D 物理(确定性) | Rapier |
| 调试 UI | bevy_egui + bevy_inspector_egui |
| 输入映射 | leafwing-input-manager |
| 瓦片地图 | bevy_ecs_tilemap |
| 网络同步 | lightyear |
| 存档 | bevy_save |
选择 crate 时检查:是否支持你使用的 Bevy 版本、最近一次更新时间、issue 数量和响应速度。