BLENVY:一个友好的 Blender <=> Bevy 工作流

用于在 Bevy 游戏引擎中从 gltf 文件添加组件的 Crates 与工具。
它为 Bevy 提供了一种以 Blender (gltf) 为核心的工作流,即在 Blender 内部定义实体及其组件。也被称为“将 Blender 作为 Bevy 的编辑器”。
它还允许你通过在 Blender 中使用集合(大多数情况下推荐的方式)或直接针对单次使用的对象来设置“蓝图”。
[!CAUTION] Blenvy 目前处于 Alpha 1 阶段,因此仍存在相当多的 bug、缺失的功能、缺失的文档、损坏的示例等 请务必在使用前备份你的 Blender 文件!
[!CAUTION] 请务必确保 Blender 插件与 rust crate 的版本号匹配! 这是确保一切按预期工作的唯一方式
快速入门
想立即上手?请参阅 快速入门指南,了解如何以最快速度设置一个基础项目。
功能
- 如果你希望将 Blender 用作编辑器,这将非常有用
- 使用 UI 工具在 Blender 中将 Bevy 组件定义为自定义属性,以添加和编辑 Bevy 组件,自动导出 gltf 蓝图等更多功能,详见 Blender
- 蓝图与关卡系统:将你的 Blender 集合转换为 gltf 蓝图,以便在仅由 Blender 场景构成的关卡中复用
- 在 Blender 集合中设置和调整组件,如果你愿意,可以在集合实例中覆盖其中任何组件
- 同样可以为对象、网格和材质设置和调整组件!
- 自动加载每个蓝图的所有资产(gltf 文件、手动添加的资产),无需任何设置
- 热重载你的关卡和蓝图
- 最小化设置与代码,你可以快速运行一个基础版本
- 最小化依赖:仅 Bevy、Serde 和 RON!
- 开源
如果你之前使用的是单独的 bevy_gltf_xxx crate 和 Blender 插件,请参阅 迁移指南
Crates
一个 crate 统御所有!
- blenvy 该 crate 允许你
-
直接在 gltf 文件中定义组件,并在 Bevy 端实例化/注入这些组件。
-
将项目的 Bevy 注册表导出为 json,以便在 Blender 端的 Blender blenvy 插件中生成自定义组件 UI
-
在 gltf 文件中为 Bevy 定义 Blueprints/Prefabs 并在 Bevy 中生成它们。支持在生成时覆盖和添加组件,实现高效的“关卡”加载等
-
通过利用 blueprint 功能仅保存动态数据的最小子集,分离关卡的动态与静态部分等,以相对简单的方式保存和加载游戏状态
旧视频: 如果你愿意,可以观看视频教程/说明,或者阅读 crate 文档。 这个也有视频教程/说明,或者阅读 crate 文档
该 crate 的示例在这里
-
工具
Blender: blenvy
- 一个集成的 Blender 插件,用于工作流的 Blender 端:
- 允许轻松添加和编辑 Bevy 组件,使用为每个组件自动生成的 UI
- 每次保存 Blend 文件时,自动将你的关卡/世界从 Blender 导出为 gltf
- 自动导出你的 Gltf blueprints 和资源
示例
你可以在这里找到所有示例
components仅使用components,以生成在 gltf 文件中定义组件的实体blueprints使用blueprints和levels生成关卡,然后填充来自不同 gltf 文件的实体,实时(运行时)生成实体等animation如何使用和触发来自 gltf 文件的动画save_load如何保存和加载关卡demo一个展示所有功能的完整演示,包括物理、动画
工作流程
工作流程如下(一旦你配置好 Bevy 代码)
- 创建并注册所有你希望从 Blender 端设置的组件(这是基础 Bevy,无需特定工作)

-
设置并随后使用 Blenvy Bevy crate
-
设置并随后使用 Blenvy Blender add-on
-
迭代
-
享受乐趣!
-
然后在 Blender 中通过精美的 UI 将组件添加到对象,详见 此处 以获取更多详细信息
请参阅 快速入门 获取完整的分步指南。
第三方集成
阅读 Avian Physics Integration 以了解如何在 Blender 中设置碰撞体,这些碰撞体将被 Bevy 中的 Avian 物理引擎使用。
限制 / 问题
avian或bevy_rapier中的一些 /physics 代码 / 定义碰撞体的方式或许可以在 Blender 中做得更好/更直观
贡献者
感谢所有为该项目提供帮助的贡献者!向你们致以崇高的敬意,我们总是欢迎贡献!:)
许可证
本仓库及其所有代码、内容和资产均双重许可,遵循以下任一许可:
- Apache License, Version 2.0, (LICENSE-APACHE 或 https://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT 或 https://opensource.org/licenses/MIT)