Bevy 四周年社区回顾

发布于 2024 年 9 月 11 日,作者 Carter Anderson ( 一只戴着猫耳朵、挥舞着触角的卡通人物剪影,即 GitHub 的吉祥物和 logo @cart 一只灰色小鸟飞翔的矢量图;前 X(前 Twitter)的 logo @cart_cart 一个指向右边的三角形在圆角矩形中;YouTube 的 logo cartdev )

@cart 在此(Bevy 的创建者和项目负责人)发布另一则更新!一个月前是 Bevy 的四周年生日!按照传统,我以此为契机回顾过去一年,并勾勒出我对未来的希望和梦想。你可以在我的 Bevy 四周年生日 帖子中阅读。

我还鼓励 Bevy 社区以类似的方式写下他们对 Bevy 四周年的回顾,并 在这里发布

什么是 Bevy? #

对于那些不了解的人来说,Bevy 是一款用 Rust 构建的,令人耳目一新的简单数据驱动游戏引擎。Bevy 也是永远免费开源的!你可以在 GitHub 上获取完整的 源代码。我们有一个 快速入门指南。你也可以查看 Bevy 资源,这是一个社区开发的插件、板条箱、游戏和学习资源库。

回顾 #

今年我们收到了很多反馈!这里集中了所有 Bevy 四周年生日 帖子

我们现在正在做什么? #

以下是我们即将推出的一些东西!

  • 下一代场景/UI:我们正在开发一个全新的现代场景系统,它将使在代码、资产文件和即将推出的 Bevy 编辑器中定义 Bevy 场景变得更加友好。这也将成为 Bevy 编辑器本身的基础,Bevy 编辑器将基于新的场景/UI 系统构建。总的来说,这将是 Bevy 功能和用户体验的一次重大进步。阅读完整的提案以了解更多详情!
  • 必需组件:这是我们 Bevy 下一代场景/UI 系统计划的第一步,它已经合并到我们的主分支中!它显著提高了定义和生成组件的可读性和可组合性。我们正在将 Bevy 的内置组件/捆绑包移植到新系统中,如果一切顺利,这将包含在下一个 Bevy 版本中。
  • 保留的渲染世界:为了促进并行流水线渲染,Bevy 同时拥有“应用程序世界”和“渲染世界”。这需要同步这两个世界。目前,Bevy 在每一帧都会清除渲染世界,然后重新填充它,这会导致开销。通过切换到“保留的渲染世界”,我们可以通过跨帧在渲染器端缓存实体数据来避免跨帧的冗余工作。
  • 函数反射:我们正在使通过 Bevy Reflect 动态调用函数成为可能,这将解锁诸如调用在资产(例如场景)中引用的 Rust 函数之类的场景!我们将使用此功能作为下一代场景/UI 工作的一部分。
  • 与顺序无关的透明度:一种新的替代排序 alpha 混合的方法,它不需要在绘制之前对绘制对象进行排序。这既可以节省 CPU 周期,在某些情况下还可以改进透明度行为。
  • 改进的文本 API:为了准备下一代场景/UI,我们正在重新设计 Text 组件 API,使其使用起来更加直观。
  • 宇宙文本渲染:我们已经切换到 cosmic-text 进行文本渲染,这提高了我们处理脚本和连字(以及其他改进)的能力。
  • 将 bevy_mod_picking 上游化:我们正在将 bevy_mod_picking 的某些方面上游化,并将其移植到 Bevy 的新 Observer 系统。这提供了用于在 2D 和 3D 空间中选取(识别/点击/选择)实体的 API。
  • Bevy CLI:我们正在构建一个 Bevy 命令行界面,它将成为执行以下操作的一站式商店:从模板生成新的 Bevy 项目、运行资产预处理器、运行 Bevy 特定的 lint 等等!

Bevy 0.15 将在 1 个月左右发布,上面的一些项目将包含在其中!

让我们一起期待 Bevy 的又一年!

- @cart