Skip to content

小结与练习

本章覆盖了 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组件逐实体覆盖线框颜色

练习

  1. 碰撞体可视化:为第 20 章打瓦游戏的球和挡板添加 Gizmos 碰撞体可视化——用 circle_2d 画球的包围圆,用 rect_2d 画挡板的包围矩形。让可视化只在按 D 键时显示。

  2. 自定义 GizmoConfigGroup:创建一个 PathGizmos 组,专门画 AI 寻路的路径线。设置线宽为 4、样式为虚线。用 GizmoConfigStore 让按 P 键切换路径显示。

  3. 性能对比:在 Listing 27-3 的基础上,把保留模式的 36 条线改成 30000 条,分别用即时模式和保留模式画,对比 FPS 差异(用 FPS Overlay 观察)。