mcpField
B
bevy-cargo-features

bevy-cargo-features

github.com/chrisgliddon开发2692 次安装9 周前更新
代码仓库

关于 bevy-cargo-features

面向 Bevy 0.19 开发者的 Cargo 功能配置技能,介绍应用配置组合及更底层的选项,涵盖无头服务器、自定义渲染器、输入和浏览器构建。

主要功能

  1. 01选择应用配置组合
  2. 02了解功能集合层级
  3. 03配置无头服务器
  4. 04配置自定义渲染器
  5. 05输入与控制器功能
  6. 06浏览器构建配置

适用场景

  1. 01裁剪未使用的默认功能
  2. 02配置无头服务器
  3. 03使用自定义渲染器构建
  4. 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_renderBevy 为某个领域提供的渲染器
仅 API2d_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 和新的 BSN bevy_scene。
  • 将 dev、dynamic_linking、文件监视器、追踪和开发工具放在项目的开发功能后面;不要意外将它们随产品发布。
  • Linux 原生窗口后端是 x11 和 wayland;文档中说明的特定目标移动设备 activity 功能互斥。不要臆造 Bevy 的 windows 或 macos 功能名称。
  • 配置集合是稳定的起点。只有在编译时间、二进制大小或自定义渲染器能让维护成本物有所值时,才使用较低层级的集合。

另请参阅

评论

支持 Markdown