BevyRust 构建的游戏引擎

联合创作 · 2023-09-27 18:45


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 许可证下的开放源码

  • 没有合同

  • 没有许可费用

  • 没有销售提成






浏览 88
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报