Bevy 是一款由 Rust 语言构建且简单明了的数据驱动的游戏引擎,并将永远保持开源且免费。
数据驱动
所有引擎和游戏逻辑使用 Bevy ECS 系统;
快: 大规模并行,缓存友好。根据某些基准测试最快的 ECS;
简单: 组件是 Rust 的结构体,系统是 Rust 的函数;
给力: 查询,全局资源,本地资源,变化检测,无锁并行调度;
2D 渲染
为游戏和应用程序渲染实时 2D 图形;
功能: 精灵表,动态纹理图集,摄像机,纹理和材质;
可扩展: 自定义着色器,材质,和渲染管道;
通用核心: 建立在 Bevy 的渲染图之上;
3D 渲染
一个现代和灵活的 3D 渲染器;
功能: 灯光,摄像机,网格,纹理,材质,gltf 加载;
可扩展: 自定义着色器,材质,和渲染管道;
通用核心: 建立在 Bevy 的渲染图之上;
图形渲染
使用图形结构组合自定义渲染管道;
并行: 图形渲染是自动并行渲染的;
模块化: 使用渲染图形节点构建可组合和可重用的渲染逻辑;
后端不可知: 不绑定到特定的图形 API;
Bevy UI
一个定制的 ecs 驱动的 UI 框架,专门为 Bevy 构建;
直接建立在 Bevy 的 ECS,渲染器,和场景插件之上;
使用 Bevy 的场景格式声明或者在代码中动态的编写;
使用熟悉的 "flex box" 模型来布局你的 UI;
场景
使用 Bevy 的场景系统来创建,保存,加载 ECS 世界;
加载: 加载场景保存实体 ID (对保存游戏很有用);
实例化: 实例化使用新的实体 ID 创建场景的链接副本;
热重载: 对场景文件的更改会自动应用到正在运行的应用程序中;
声音
加载音频文件,并按需求播放它们;
加载 mp3 音频文件作为资源;
使用 AudioOutput 来播放音频文件;
热重载
在你修改之后得到即时反馈,无需重启或者重新编译;
资源的变动将即时反映在运行的 Bevy App 中;
你可以热重载场景,纹理和网格;
任何资源类型都可以;
高效的编译时间
游戏开发是一个迭代的过程,不用花时间去等待编译;
使用 Bevy 的 "快速编译" 配置,预期为 0.8-3.0 秒;
与其他流行的 Rust 游戏引擎相比,它们可以花 30 秒以上的时间来编译一个单行插入!
免费开源
一个由 (为) 开发者社区制作的引擎;
MIT 许可证下的开放源码;
没有合同;
没有许可费用;
没有销售提成;