前言
这是一本写给 Rust 开发者的 Bevy 引擎深度概念书。
为什么写这本书
Bevy 不仅是一个游戏引擎,更是 Rust 类型系统与数据驱动架构结合的典范之作。 它用 60 个模块化 crate 构建了一个完整的游戏引擎,其中 ECS (Entity Component System) 架构贯穿始终——从核心的 World、Entity、Component,到渲染管线、UI 框架、动画系统, 无一不建立在 ECS 之上。
然而,Bevy 的官方文档偏重 API 使用层面。要真正理解 Bevy 为什么这样设计—— 为什么函数可以自动变成 System?为什么渲染需要双 World?为什么 Archetype 迁移 不可避免?——需要深入源码。
这本书就是这趟源码之旅的导游。
这本书适合谁
- 有 Rust 基础的开发者,想深入理解 Bevy 的设计哲学
- 正在使用 Bevy 的开发者,想知道引擎内部如何运作
- 对 ECS 架构感兴趣的系统程序员
- 想学习 Rust 高级设计模式的开发者(Bevy 是绝佳的案例库)
这本书不包含什么
- 不是入门教程(不会从零教你写第一个窗口)
- 不含可运行的游戏项目
- 不涉及 GPU 编程的数学推导
如何阅读
全书分五个部分:
- 引擎全景(第 1-2 章)——建立整体认知
- ECS 内核(第 3-10 章)——全书核心,从 World 到 Schedule 逐层剖析
- 通信与关系(第 11-13 章)——Commands、Event、Message、Observer、Hierarchy
- 引擎子系统(第 14-21 章)——展示 ECS 如何驱动渲染、UI、动画等
- 高级主题(第 22-26 章)——Reflect、并发、跨平台、Rust 设计模式总结
建议顺序阅读第二部分(ECS 内核),其余部分可按兴趣跳读。
基于的版本
本书基于 Bevy 0.19.0-dev 源码分析。Bevy 迭代迅速,具体 API 可能变化, 但核心的架构设计思想具有持久价值。
图表说明
全书包含 39 张图表,涵盖内存布局、数据流、架构关系、时序、trait 层级等。 所有图表均使用文本格式(ASCII art 或 Mermaid),可在任何环境下阅读。