首页 > 知识百科 > 其他

Bevy——Rust 构建的游戏引擎


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

没有合同;

没有许可费用;

没有销售提成;

本文链接:https://zhanque.net/rw/3986.html