6个版本

0.2.4 2024年4月14日
0.2.3 2024年4月14日
0.2.1 2024年3月31日
0.1.0 2024年3月12日

游戏开发类别中排名549

MIT OR Apache-2.0 OR CC0-1.0

99KB
2K SLoC

一些Bevy工具

该仓库包含对伟大的Bevy引擎的扩展。我的目标是创建一个包,其中包含我在项目中经常使用的ECS功能,以便在未来的Bevy游戏马拉松中节省时间。这个包试图使使用尽可能简单,以便开发者可以专注于游戏的主要内容。

Some Bevy Tools Logo

当前支持的功能包括

  • 一段时间后自动销毁。
  • 在状态变化时自动销毁组件。
  • 范围组件,其值在最小值和最大值之间保持,并在达到最小值或最大值时写入事件。例如,它可以用于健康以检测死亡。
  • 在rapier中对碰撞事件进行简化处理。
  • 将用户输入映射到自定义事件。(目前仅支持键盘事件)
  • 在加载状态中加载资源,并使用反射自动将它们存储在资源中。
  • 分屏支持。
  • SBS支持。它基本上是一个分屏,通过使用像XReal或Virture眼镜这样的特殊硬件,允许立体视觉。
  • 在特定位置循环音乐,并在音乐播放时更改循环位置。
  • 第三方相机和控制器
  • 2D相机和简单的俯视角色控制器

此外,我还试图至少用一例来说明每个模块。这应该可以确保没有意外的破坏性更改。

版本历史和Bevy版本

版本 Bevy
0.1 0.13
0.2 0.13

用法

请确保在您的Cargo.toml中使用以下行

[dependencies]
bevy = "0.13.1"
some_bevy_tools = "0.2.1"

功能

默认情况下,所有功能都启用,以便您快速开始。为了优化构建,请禁用默认功能,并仅使用所需的。

此包的核心功能包括

功能 描述 Bevy功能
audio_loop 添加对音频文件(通常是音乐)内部循环的支持 bevy_audio, bevy_asset
loading 使用反射将资源加载到资源中。 bevy_asset
split_screen 使用两个相机启用分屏支持。 bevy_render
sbs_3d 允许使用SBS(并行)渲染输出3D。 bevy_render

这些功能添加了bevy_rapier作为依赖项

功能 描述 附加依赖项
bevy_rapier2d 简化碰撞事件 bevy_rapier2d
bevy_rapier3d 简化碰撞事件 bevy_rapier3d

这些功能仅使能了一组常用的功能,以便快速开始,但并不启用所有功能。

功能 描述 Bevy功能
audio_deluxe 添加音频和音频文件格式 bevy_audio, vorbis, bevy_asset
display_minimum 仅显示窗口和处理事件所需的最小功能 x11, bevy_winit
display_deluxe 启用绘制精灵或3D对象的功能 x11, bevy_winit, bevy_asset, bevy_render, bevy_sprite, png, bevy_pbr, tonemapping_luts
all 启用所有功能,除了rapier bevy_audio, vorbis, bevy_asset, x11, bevy_winit, bevy_asset, bevy_render, bevy_sprite, png, bevy_pbr, tonemapping_luts

CI (复制自Bevy启动模板)

定义:.github/workflows/ci.yaml

该工作流程在每次提交到main分支时运行,并在针对main分支的每个PR时运行。

它将在Linux上使用rust stable,并在不同的执行之间进行缓存,以下命令

  • cargotest
  • cargoclippy ---D warnings
  • cargofmt --all ----check

如果你使用任何特定于OS的或rust nightly的功能,你应该更新文件ci.yaml以使用这些。

代码许可

媒体许可

贡献

除非你明确表示,否则根据Apache-2.0许可中定义的,任何有意提交以包含在你工作的贡献,都将按照上述方式三重许可,不附加任何额外条款或条件。

依赖项

~18–61MB
~1M SLoC