Bevy

Rust 构建的游戏引擎
授权协议 MIT
开发语言 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 秒以上的时间来编译一个单行插入!

免费开源

一个由(为)开发者社区制作的引擎
  • 100% 免费,天长地久
  • MIT 许可证下的开放源码
  • 没有合同
  • 没有许可费用
  • 没有销售提成
  • 这篇文章包括来自 Alice Cecile Bevy 的贡献者 的帮助和评论。 对 Bevy Discord 的补充。 非常感谢 Joy and Logic Bevy 是一个用 Rust 编写的游戏引擎,以非常符合人体工程学的实体组件系统而闻名。 在 ECS 模式 中,实体是由组件组成的独特事物,就像游戏世界中的对象一样。 系统处理这些实体并控制应用程序的行为。 Bevy 的 API 如此优雅的原

  • 作为 Rust 与游戏开发爱好者,我从 Bevy 发布的时候就开始关注它的发展,Bevy 作为一个新生的实验性的游戏引擎,很适合追随它的成长脚步来学习游戏开发,一开始我还在犹豫是否要真正地深入了解和学习它。随着越来越多的人开始使用 Bevy 开发游戏和插件,他们的热情和愿景鼓舞了我,于是我也下定决心投入更多的精力来通过掌握 Bevy 提升自己的游戏开发技巧。 受制于 Bevy 引擎的开发优先级,项

 相关资料
  • 问题内容: 我最近一直在研究游戏开发,而我的第一种编程语言是Java。在玩了许多用c ++开发的令人惊叹的游戏之后,我想知道为什么Java在游戏行业中没有被大量使用。我查看了jMonkeyEngine 3和其他一些游戏引擎环境,但是看到的屏幕截图远没有那么令人惊叹。诸如EA的《极品飞车》(Need for Speed Hot)和ubisoft的Assassins Creed等标题传达了这种现实感。

  • 错误消息: 我正在尝试用java构建一个跳棋游戏(目前在控制台中)。我有6门课: > 板:显示并跟踪板。它是一个名为mySquare的Square对象的2d数组。 CheckerMobile:包含来自X、fromY、toX、toY和布尔isAJump的变量。在Play中,我创建了一个CheckerMobile对象数组来找出哪些移动是有效的。 单件:单个棋盘格件。每个玩家都有一个由12件物品组成的数

  • 一个非常小的script脚本引擎,可以同时在j2me / j2se / c++ platform上面运行 它的目标是使用这个脚本引擎便于开发一个更加灵活的j2me 游戏这个脚本有点像BASIC这东西不错,是一个开源的脚本引擎,大家可以学习里面的思想里面其中带了一个例子,是3子棋。感觉挺不错的。这东西在SF也挺活跃的。

  • 12.19 技术一面 12.22 技术二面 12.26 三面(主管+hr) 1.5 交叉面 1.8 oc 其实很想每次把面经给记录下来,但实在怕有潜在竞争对手,这个广州只剩1个hc的岗位对我来说真的很重要 之前灵犀11月底发过冬季补录的邮件,但我写了之后没什么回应,转机竟然是实验室同门在boxx上被灵犀的人联系,然后转推了我,大半个月走完了流程;虽然在深圳这边只实习了一个月,但还是学到了很多东西,

  • Unity empowers game designers to make games. What's really special about Unity is that you don't need years of experience with code or a degree in art to make fun games. There are a handful of basic w

  • 问题内容: 对于C ++,Java或Python,有哪些易于使用的优质游戏+免费游戏引擎? 任何类型的游戏引擎都可以。我只是想通过研究不同的游戏引擎及其功能来入门。 问题答案: 在大学的计算机图形学课程中,我们使用了开源OGRE 3D 引擎。这不仅是一个极其强大的3D引擎,而且是爆炸! 使用它开发一个中型游戏,您将可以很好地体验许多不同的游戏编程专业。您会发现自己在进行3D建模,音效,物理编程,A

  • 我已经成功实现了在android上开发一个使用Google API语音识别的应用程序的目标。 但事实是,我必须使用真正的游戏引擎,因为我的应用程序将是跨平台的,并且具有非常丰富的用户界面a和手势。 我正在考虑使用Unity游戏引擎,并将我的应用程序部署到iOS和Android平台。 所以正在web上搜索。。。我发现我不能在Unity游戏引擎上使用Google语音识别API,因为它属于Google。

  • 这可能是雄心勃勃的,但在stackoverflow我信任... 我想知道在android平台上创建一个基于网络的游戏引擎的能力和可能的障碍,并将以类似于“与朋友交谈”等游戏的方式进行游戏。 null