关于 bevy-cargo-features
面向 Bevy 0.19 开发者的 Cargo 功能配置技能,介绍应用配置组合及更底层的选项,涵盖无头服务器、自定义渲染器、输入和浏览器构建。
主要功能
- 01选择应用配置组合
- 02了解功能集合层级
- 03配置无头服务器
- 04配置自定义渲染器
- 05输入与控制器功能
- 06浏览器构建配置
适用场景
- 01裁剪未使用的默认功能
- 02配置无头服务器
- 03使用自定义渲染器构建
- 04选择浏览器与控制器功能
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ chrisgliddon/ bevy-skills --skill bevy-cargo-features安装后在 Claude Code 中输入/bevy-cargo-features确认已加载。
详细介绍
Bevy 0.19 — Cargo 功能
何时使用此技能
- 选择受支持的应用配置,而不启用完整默认功能集。
- 组合自定义渲染器或无头服务器。
- 启用原生控制器输入、窗口/输入 API 或浏览器渲染。
- 停用默认功能后,排查缺失的类型/插件。
标准配置
Bevy 的默认配置是 2d + 3d + ui + audio。要选择配置,必须停用默认功能:
# 3D game with Bevy UI, but no audio or 2D renderer
bevy = { version = "0.19", default-features = false, features = ["3d", "ui"] }
# 2D game with audio, but no 3D renderer or UI
# bevy = { version = "0.19", default-features = false, features = ["2d", "audio"] }
如果保留默认功能,仅写 features = ["3d"] 并不会精简任何内容:Cargo 会合并功能集。
功能集合层级
| 层级 | 功能 | 含义 |
|---|---|---|
| 配置 | 2d、3d、ui、audio | 完整的应用形态 |
| 内置渲染 | 2d_bevy_render、3d_bevy_render、ui_bevy_render | Bevy 为某个领域提供的渲染器 |
| 仅 API | 2d_api、3d_api、ui_api | 不含渲染后端的组件/资源 |
| 基础 | default_app、default_platform | 核心应用服务与平台/窗口/输入服务 |
| 分组 | scene、picking、dev | 相关功能集合 |
仅 API 的功能无法绘制内容。它们适用于使用 Bevy 世界侧类型的自定义/外部渲染器。
无头服务器
bevy = { version = "0.19", default-features = false, features = [
"default_app",
"multi_threaded",
"serialize",
"bevy_world_serialization", # omit if the server never loads saved worlds
] }
使用 MinimalPlugins,然后只添加服务器需要的服务插件。0.19 中,bevy_scene 是 BSN;经典的反射式世界序列化功能是 bevy_world_serialization。
自定义渲染器
bevy = { version = "0.19", default-features = false, features = [
"default_app",
"3d_api",
] }
仅当自定义渲染器与 Bevy 共用窗口事件循环时,才添加 bevy_winit/平台输入。如果实际需要 Bevy 内置渲染器,请添加 3d_bevy_render,而不是 3d_api。
输入与控制器
mouse、keyboard、gamepad、touch和gestures可启用相应的 API 部分。- 若要发现/输入原生控制器,请启用
bevy_gilrs;它也会启用gamepad。单独启用gamepad功能并不包含平台后端。 - 高级集合
default_platform包含bevy_gilrs、Winit、桌面窗口后端、默认字体和webgl2。
浏览器配置
bevy = { version = "0.19", default-features = false, features = [
"3d",
"ui",
"touch",
# "webgpu", # overrides WebGL2; use a separate WebGPU artifact
] }
3d 配置已包含默认平台和 WebGL2 路径。启用 webgpu 会覆盖 webgl2;它并非运行时回退构建。参见 bevy-wasm-webgpu。
0.19 的影响与注意事项
2d和3d不再隐含启用ui;请显式添加ui。2d、3d和ui不再隐含启用audio;请显式添加audio或较低层级的编解码器组合。scene现在会同时启用bevy_world_serialization和新的 BSNbevy_scene。- 将
dev、dynamic_linking、文件监视器、追踪和开发工具放在项目的开发功能后面;不要意外将它们随产品发布。 - Linux 原生窗口后端是
x11和wayland;文档中说明的特定目标移动设备 activity 功能互斥。不要臆造 Bevy 的windows或macos功能名称。 - 配置集合是稳定的起点。只有在编译时间、二进制大小或自定义渲染器能让维护成本物有所值时,才使用较低层级的集合。
另请参阅
bevy-rendering— 渲染器的选择边界。bevy-wasm-webgpu— 浏览器构建流程。bevy-a11y— 无障碍功能的输入/后端要求。bevy-migration-0-18-to-0-19— 功能隐含关系的变化。
评论
支持 Markdown