小结与练习
本章覆盖了 Bevy 的三类开发工具:
- Gizmos(即时模式 + 保留模式):用代码画线、球、箭头、网格,叠加在场景上,发布时自动消失
- FPS Overlay:内置的帧率显示和帧时间图,一行代码启用
- 线框渲染:把 Mesh 的三角面结构直接画出来,全局或逐实体控制
Gizmos 是"你想看到的线",线框是"模型本身的线",FPS Overlay 是"性能的数字"。三者组合就是 Bevy 开发者的日常调试画面。
关键 API 速查:
| 工具 | 类型 | 引入方式 |
|---|---|---|
Gizmos | 系统参数 | 即时模式,每帧调用方法画线 |
Gizmos<T> | 系统参数(带组) | init_gizmo_group::<T>() 注册自定义组 |
GizmoAsset + Gizmo | 资产 + 组件 | 保留模式,静态数据性能更好 |
GizmoConfigStore | 资源 | 运行时修改 Gizmo 配置 |
FpsOverlayPlugin | 插件 | 需要 bevy_dev_tools feature |
FpsOverlayConfig | 资源 | 运行时修改 FPS 叠加层 |
WireframePlugin | 插件 | 需要 POLYGON_MODE_LINE GPU 特性 |
WireframeConfig | 资源 | 全局线框开关和默认颜色 |
Wireframe / NoWireframe | 组件 | 逐实体强制开/关线框 |
WireframeColor | 组件 | 逐实体覆盖线框颜色 |
练习
碰撞体可视化:为第 20 章打瓦游戏的球和挡板添加 Gizmos 碰撞体可视化——用
circle_2d画球的包围圆,用rect_2d画挡板的包围矩形。让可视化只在按 D 键时显示。自定义 GizmoConfigGroup:创建一个
PathGizmos组,专门画 AI 寻路的路径线。设置线宽为 4、样式为虚线。用GizmoConfigStore让按 P 键切换路径显示。性能对比:在 Listing 27-3 的基础上,把保留模式的 36 条线改成 30000 条,分别用即时模式和保留模式画,对比 FPS 差异(用 FPS Overlay 观察)。