BevyRust 构建的游戏引擎
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 秒以上的时间来编译一个单行插入!
免费开源
一个由(为)开发者社区制作的引擎- 100% 免费,天长地久
- MIT 许可证下的开放源码
- 没有合同
- 没有许可费用
- 没有销售提成
评论