AX 爱鲜报

Bevy 游戏引擎

Bevy 是一个用 Rust 编写的开源数据驱动游戏引擎,基于 ECS 架构,提供完整的 2D/3D 渲染、音频、UI、动画等能力,主打简洁、模块化与高性能并行。

爱鲜报评分

0.0

0 人评分

49k

星数

否

中文

Rust

主语言

是

活跃

1680

贡献者

人工分析

EDITORIAL

推荐理由

Bevy 是 Rust 生态中最活跃的游戏引擎之一,近 5 万 Star 且社区迭代极快,采用 ECS 数据驱动架构,天然适合需要高并行与可组合性的项目。它模块化程度高,可以只取所需插件,也能替换不喜欢的部分。对于想用 Rust 做游戏、图形或实时仿真的开发者,是绕不开的选项。

适用场景

  • 2D/3D 游戏开发
  • 实时图形与可视化
  • Rust 学习与图形编程实践
  • 仿真与交互式应用原型
  • 跨平台桌面游戏

优点

  • ECS 数据驱动架构,逻辑与数据解耦,便于并行
  • 模块化插件系统,可按需裁剪与替换
  • 2D/3D 功能完整,渲染、音频、UI、动画一体化
  • Rust 生态活跃,社区与示例资源丰富
  • MIT/Apache-2.0 双许可,商用友好

缺点

  • 仍处于早期阶段,API 约每 3 个月有破坏性变更
  • 文档相对稀疏,部分功能缺失
  • MSRV 紧跟 Rust 最新稳定版,对工具链版本敏感
  • 默认编译较慢,需配置 fast compiles
  • 中文资料较少,主要依赖英文社区
上手难度 进阶

Bevy 是什么

Bevy 是一个用 Rust 编写的开源、数据驱动的游戏引擎,目标是让游戏开发既简单又灵活。它完全免费、永久开源,采用 MIT/Apache-2.0 双许可。

注意:Bevy 仍处于早期开发阶段,重要功能尚在补齐,文档相对稀疏,且大约每 3 个月会发布一次包含破坏性 API 变更的新版本。官方提供迁移指南,但不保证迁移总是轻松。

设计目标

  • 能力完整:提供完整的 2D 与 3D 功能集
  • 简单易用:新手容易上手,同时为高级用户保留无限扩展空间
  • 数据驱动:基于实体组件系统(ECS)的数据导向架构
  • 模块化:只使用你需要的部分,替换你不喜欢的部分
  • 高性能:应用逻辑尽可能并行执行
  • 高生产力:编译速度要快,等待并不有趣

核心特性

Bevy 采用 ECS 范式组织游戏逻辑,实体(Entity)、组件(Component)与系统(System)分离,天然适合并行调度。引擎以插件(Plugin)为组织单位,渲染、音频、UI、动画、输入等均可按需启用或替换。

快速上手

官方推荐先阅读 Quick Start Guide,再按 Setup 指南配置开发环境。克隆仓库后可直接运行示例:

# 切换到最新发布版本(默认是 main 开发分支)
git checkout latest
# 运行 breakout 示例
cargo run --example breakout

创建一个带标准功能窗口的最小应用:

use bevy::prelude::*;

fn main() {
    App::new()
        .add_plugins(DefaultPlugins)
        .run();
}

文档与社区

  • Quick Start Guide:官方入门指南,学习 Bevy 的最佳起点
  • Rust API Docs:由仓库内文档注释自动生成
  • 官方示例:可直接运行的示例集合,适合深入具体概念
  • 社区学习资源:社区制作的教程、文档与示例

社区渠道包括 Discord、Reddit、GitHub Discussions 以及 Bevy Assets 资源站。

编译与版本

Bevy 在稳定版 Rust 上使用默认配置即可构建。若追求快速迭代编译,建议按官方说明启用 fast compiles 配置。由于 Bevy 高度依赖 Rust 语言与编译器的改进,其 MSRV 通常接近 Rust 最新稳定版。

许可

除个别文件外,仓库代码采用 MIT 与 Apache-2.0 双许可,可任选其一。示例所用素材通常遵循不同的开源许可,详见 CREDITS.md。

评论

登录后才可评论与评分

0 条评论

  • 暂无评论,来写第一条吧。