本页目录

Bevy 3D 参考项目与技术演示(Foxtrot)

foxtrot · janhohenheim/foxtrot

Foxtrot 是 Bevy 引擎的 3D 参考项目与技术演示,用 Rust 编写,也可作为 3D 游戏项目的模板参考。README 说明克隆仓库后执行 cargo run 即可本地运行,并提供 itch.io 浏览器试玩入口;Web 构建使用实验特性,让音频在独立线程播放,需...

其他 自研引擎 TypeScript 物理系统 粒子系统 动画系统 UI 系统 中级
★ Stars 876 Forks 61 License MIT 更新 2026-11-11

国内开发环境适配

Windows
AI 推断/待核验
Linux
AI 推断/待核验
macOS
AI 推断/待核验
引擎 / 框架:自研引擎 暂无中文教程标记 未标记站长实测
需要 Rust 工具链;Web 构建额外要求 nightly 编译器与 Bevy CLI alpha,版本较新时可能需配置国内 cargo 镜像加速依赖下载。TrenchBroom 需从 GitHub Releases 下载,itch.io 试玩页在部分网络环境下访问可能不稳定,均建议自行核验。

中文项目介绍

Foxtrot 是面向 Bevy 引擎的一个 3D 参考项目与技术演示,使用 Rust 编写。它不追求成为一个可直接套用的通用模板,而是把“一个真实体量的 Bevy 3D 项目长什么样”完整呈现出来:从第一人称移动、抓取与投掷物体,到分支对话、导航、菜单与调试视图,都在同一个工程里给出可运行的实现。

README 明确说明,这个 Demo 里刻意没有真正的玩法目标,也没有任务系统与存档机制。作者的理由是:这类内容高度依赖具体项目需求,放进来反而会把示例误导成“标准答案”。因此更合适的用法是把它当作一个“超级示例”(mega-example),浏览整体结构,或单独取某一功能的代码作为自己实现时的参考。

仓库同时提供了 itch.io 上的浏览器试玩入口,方便在不配置本地环境的情况下先感受效果。

补充说明

本地运行

README 强调本地运行是开箱即用的:克隆仓库后直接执行即可。

  • 标准方式:cargo run
  • 使用 Bevy CLI alpha 时:bevy run

Web 构建使用了实验性特性,把音频放到独立线程中运行,从而在浏览器里获得不卡顿的音频播放。代价是需要额外准备:

  • 使用 nightly 编译器:rustup default nightly
  • 使用当前版本的 Bevy CLI alpha
  • 之后执行 bevy run web 产出 Web 版本

也就是说,桌面端构建走常规路径,Web 端构建对工具链版本较敏感,README 特别提示了这一点。

(可选)热补丁

Foxtrot 中所有系统都支持热补丁:系统代码可以在运行时被修改,改动会实时补丁进正在运行的可执行程序中,而不需要重启。要为自己的系统启用这一能力,README 指向 bevy_simple_subsecond_system 的文档进行配置,配置完成后通过下列命令启动:

dx serve --hotpatched

对于需要频繁调整玩法参数或调试系统逻辑的开发者,这一特性可以显著缩短“改一行、重编译、重进游戏”的循环。

项目动机

作者说明 Foxtrot 的首要定位,是展示“他自己关心的事情”该如何实现,README 列出的关注点包括:

  • 第一人称移动
  • 抓取与投掷物体
  • 分支对话
  • 导航
  • 承载无障碍功能的基础菜单
  • 调试视图
  • 热补丁
  • 桌面与 Web 双端构建

代码风格上,项目有意保持强观点(very opinionated),但在编码风格上尽量贴近 Bevy New 2D 项目所采用的写法,便于熟悉该模板的开发者迁移阅读。

项目组织

Foxtrot 是基于 Bevy New 2D 模板生成的。README 建议先阅读该模板的文档,理解项目所沿用的基础结构与约定,再进入 Foxtrot 的具体模块,这样能更快定位代码职责。

关卡编辑

关卡部分,Foxtrot 采用 TrenchBroom 作为关卡编辑器,并通过 bevy_trenchbroom 与 Bevy 集成。使用流程如下:

  1. 下载最新版 TrenchBroom 发行包;
  2. 先运行一次 Foxtrot,日志中会出现提示,说明已写入 TrenchBroom 配置;
  3. 用 TrenchBroom 打开 assets/maps/volta_i/volta_i.map,即可编辑主地图。

这条工作流展示了“外部关卡编辑器 + Bevy 运行时加载”的实践路径,对于想做 3D 关卡编辑管线的项目有直接参考价值。

开源许可证与版权说明

许可证标识:MIT。源码、资源与依赖许可可能不同,请以官方仓库为准。本站仅做索引,不托管源码。

相似项目