bevyengine/bevy

GitHub: bevyengine/bevy

一款简洁高效的开源数据驱动游戏引擎,基于 Rust 和 ECS 架构,适用于 2D/3D 游戏与交互式应用开发。

Stars: 44874 | Forks: 4425

# [![Bevy](https://bevy.org/assets/bevy_logo_light_dark_and_dimmed.svg)](https://bevy.org) [![License](https://img.shields.io/badge/license-MIT%2FApache-blue.svg)](https://github.com/bevyengine/bevy#license) [![Crates.io](https://img.shields.io/crates/v/bevy.svg)](https://crates.io/crates/bevy) [![Downloads](https://img.shields.io/crates/d/bevy.svg)](https://crates.io/crates/bevy) [![Docs](https://docs.rs/bevy/badge.svg)](https://docs.rs/bevy/latest/bevy/) [![CI](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/8e97a984e8004706.svg)](https://github.com/bevyengine/bevy/actions) [![Discord](https://img.shields.io/discord/691052431525675048.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/bevy) ## 什么是 Bevy? Bevy 是一个令人耳目一新的简单数据驱动游戏引擎,使用 Rust 构建。它将永远免费且开源! ## 警告 Bevy 仍处于开发的早期阶段。重要功能尚缺失。文档稀缺。包含 API 破坏性变更的 Bevy 新版本大约每 3 个月发布一次。我们提供了迁移指南,但无法保证迁移总是轻而易举。仅当您愿意在此环境中工作时才使用。 **MSRV:** Bevy 非常依赖 Rust 语言和编译器的改进。 因此,最低支持的 Rust 版本 (MSRV) 通常接近 Rust 的“最新稳定版本”。 ## 设计目标 * **能力强大**:提供完整的 2D 和 3D 功能集 * **简单**:新手易于上手,但对高级用户具有无限灵活性 * **数据为中心**:使用 Entity Component System 范式的面向数据架构 * **模块化**:只使用你需要的功能。替换你不喜欢的部分 * **快速**:应用逻辑应运行迅速,并尽可能并行执行 * **高效**:代码修改应编译迅速……等待并不有趣 ## 关于 * **[功能](https://bevy.org):** Bevy 功能的快速概览。 * **[新闻](https://bevy.org/news/)**:涵盖我们的进度、计划和新功能的开发博客。 ## 文档 * **[快速入门指南](https://bevy.org/learn/quick-start/introduction):** Bevy 的官方快速入门指南。开始学习 Bevy 的最佳起点。 * **[Bevy Rust API 文档](https://docs.rs/bevy):** Bevy 的 Rust API 文档,由本仓库中的文档注释自动生成。 * **[官方示例](https://github.com/bevyengine/bevy/tree/latest/examples):** Bevy 专用的、可运行的示例,非常适合深入研究特定概念。 * **[社区制作的学习资源](https://bevy.org/assets/#learning)**:更多由 Bevy 社区制作的教程、文档和示例。 ## 入门指南 我们建议查阅 [快速入门指南](https://bevy.org/learn/quick-start/introduction) 以获取简要介绍。 请遵循 [设置指南](https://bevy.org/learn/quick-start/getting-started/setup) 以确保您的开发环境配置正确。 设置完成后,您可以通过克隆本仓库并运行以下命令来快速试用 [示例](https://github.com/bevyengine/bevy/tree/latest/examples): ``` # 切换到正确的版本(最新发布版,默认为 main 开发分支) git checkout latest # 运行 "breakout" 示例 cargo run --example breakout ``` 要绘制一个启用了标准功能的窗口,请使用: ``` use bevy::prelude::*; fn main() { App::new() .add_plugins(DefaultPlugins) .run(); } ``` ### 快速编译 使用稳定版 Rust 的默认配置可以很好地构建 Bevy。但是,为了实现真正快速的迭代编译,您应该通过[按照此处的说明操作](https://bevy.org/learn/quick-start/getting-started/setup)来启用“快速编译”设置。 ## [Bevy Cargo Features][cargo_features] 此[列表][cargo_features]概述了 Bevy 支持的不同 Cargo features。它们允许您根据具体用例自定义 Bevy 的功能集。 ## 许可证 Bevy 是免费、开源且许可宽松的! 除非另有说明(下文和/或各个文件中),本仓库中的所有代码均在以下任一许可证下双重许可: * MIT License ([LICENSE-MIT](LICENSE-MIT) 或 [http://opensource.org/licenses/MIT](http://opensource.org/licenses/MIT)) * Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE) 或 [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)) 由您选择。 这意味着您可以选择您偏好的许可证! 这种双重许可方法是 Rust 生态系统中的事实标准,并且有充分的理由同时包含两者。 引擎的某些代码由于其外部来源,带有额外的版权声明和许可条款。 这些通常类似于 BSD 许可证,但具体细节因 crate 而异: 如果 crate 的 README 包含“License”标题(或类似内容),将列出适用于该 crate 的额外版权声明和许可条款。 上述许可要求仍然适用于对这些 crate 的贡献,并且这些 crate 的部分内容将带有这些许可条款。 每个 crate 的 [license](https://doc.rust-lang.org/cargo/reference/manifest.html#the-license-and-license-file-fields) 字段也将反映这一点。 本仓库中包含的 [assets](assets)(用于我们的 [示例](./examples/README.md))通常属于不同的开放许可。 这些不会包含在您的游戏中(除非由您复制进去),并且它们不在发布的 bevy crates 中分发。 有关这些文件的许可证详情,请参阅 [CREDITS.md](CREDITS.md)。 ### 您的贡献 除非您明确声明, 否则由您有意提交以包含在作品中的任何贡献, 如 Apache-2.0 许可证中所定义, 应按上述方式双重许可, 无需任何附加条款或条件。
标签:2D游戏开发, 3D游戏开发, Bevy, Cargo, ECS架构, MIT协议, Rust, WebAssembly, 信息收集, 可视化界面, 实体组件系统, 实时渲染, 并行计算, 开源, 数据导向设计, 数据驱动, 模块化设计, 游戏开发框架, 游戏引擎, 编程库, 网络流量审计, 自动化修复, 通知系统, 通知系统