Bevy 开发模式与知识联纳

本页面聚合 ZoOL 的 Bevy 博客文章中沉淀的开发模式、架构决策和知识关联。

知识地图

Bevy制作拼图游戏
    → 贝塞尔曲线图形算法
    → ECS 交互模式(Trigger + 组件标记 + 事件驱动)
    → 2D z 轴动态排序
    → 性能优化(WinitSettings、并行处理)

Bevy 0.15 速览
    → 所霉组件简化 Bundle
    → Picking 交互系统
    → BRP 远程协议

Bevy 0.16 速览
    → GPU 驱动渲染(大场景 3x 性能)
    → ECS 关系(原生实体关联)
    → 统一错误处理

Bevy 0.17 速览
    → Solari 光追全局光照
    → 热重载(开发体验革命)
    → 虚拟几何 BVH(1150亿三角形 3.5ms)
    → UI 渐变 + Feathers 组件库

Bevy Entity 实体设计
    → 分代索引解决 ABA 问题
    → NonZeroU32 niche optimization

Bevy 的三种时间
    → Real: UI、真实计时
    → Virtual: 游戏逻辑、时间缩放
    → Fixed: 物理、AI、动画

Bevy 状态管理
    → 多状态类型独立管理
    → OnEnter/OnExit 自动初始化/销毁
    → StateScoped 自动清理
    → run_if 运行条件

重复出现的设计模式

1. 事件驱动架构

出现于:

  • 拼图游戏(AdjustScale、ToggleBackgroundHint、MoveEnd)
  • 状态系统(NextState、StateTransition)

模式: 多种输入源 → 统一事件 → 单一处理系统

2. 触发器 + 组件模式

出现于:

  • Picking 系统(Pointer、Pointer
  • 拼图拖拽(OnInsert、OnInsert

模式: 触发器响应事件 → 添加/移除组件 → 系统根据组件状态处理

3. 自动化管理

出现于:

  • 所霉组件(#[require(…)])
  • StateScoped 实体
  • 自动反射注册(0.17)

模式: 声明式配置 → 框架自动处理后果

4. 层级化设计

出现于:

  • 迷雾插件(Chunk 系统)
  • 虚拟几何 BVH(0.17)
  • ECS 关系(实体层级)

模式: 大规模数据 → 分块处理 → 层级剔除/管理

开发者路径

ZoOL 的 Bevy 学习路径如下:

  1. 实战入门: 拼图游戏项目掌握 ECS 交互
  2. 源码解读: Entity 实体设计理解底层架构
  3. 版本跟踪: 0.15 → 0.16 → 0.17 持续更新
  4. 插件开发: 战争迷雾插件实践
  5. 生态探索: 第三方工具链探索
  6. 概念深入: 状态管理、时间系统等高级概念

知识缺口

以下文章当前为空缺或未完成:

  • 战争迷雾插件开发笔记(待填充)
  • dioxus-in-bevy(空白)

相关实体