由于 bevy 是由 rust 编写,所以使用 bevy 的前提,是要安装 rust,官方已经提供了响应的安装步骤,一步步安装即可。
如何创建一个 Bevy 项目#
创建一个新的 Rust 可执行项目
cargo new my_bevy_game
cd my_bevy_game
随后,再运行命令,就可以看到输出了一句话 "Hello World!"
cargo run
将 Bevy 添加为依赖项#
最简单直接的方法:在命令行输入
cargo add bevy
或者手动在文件中复制以下内容:项目的 Cargo.toml 中
[package]
name = "my_bevy_game"
version = "0.1.0"
edition = "2021" # this needs to be 2021, or you need to set "resolver=2"
[dependencies]
bevy = "0.12" # make sure this is the latest version
如果使用了 Cargo WorkSpace,则还需要将解析程序添加到根目录中的 Cargo.toml 文件中:
[workspace]
resolver = "2" # Important! wgpu/Bevy needs this!
使用性能优化的编译设置#
虽然这对于简单的项目来说可能不是问题,但 Rust 中的调试构建可能会非常慢—— 尤其是当您开始使用 Bevy 制作真正的游戏时。
使用默认配置的调试版本需要几分钟才能加载大型 3D 模型,或者简单场景的帧速率下降到几乎无法播放的水平,这种情况并不少见。
幸运的是,有一个简单的修复,我们不必放弃我们的快速迭代编译!将以下内容添加到您的 :Cargo.toml
# Enable a small amount of optimization in debug mode
[profile.dev]
opt-level = 1
# Enable high optimizations for dependencies (incl. Bevy), but not for our code:
[profile.dev.package."*"]
opt-level = 3
启用快速编译#
这是 bevy 官方推荐的方式,如果要进行最快速的迭代编译,则可以试试以下配置
- 启用 Bevy 的动态链接功能:这是最有影响力的编译时间缩短!如果是依赖项,则可以使用 “dynamic_linking” 功能标志(启用动态链接)编译二进制文件。** 重要!** 在 Windows 上,您还必须启用性能优化,否则将出现
[导出的符号过多](https://github.com/bevyengine/bevy/issues/1110#issuecomment-1312926923)
错误。
cargo run --features bevy/dynamic_linking
如果不想每次都在运行时写这么繁琐,可以文件配置中像这样设置 文件:Cargo.toml
[dependencies]
bevy = { version = "0.12.0", features = ["dynamic_linking"] }
- LLD 链接器:Rust 编译器在 “链接” 步骤中花费了大量时间。LLD 的链接速度比默认的 Rust 链接器快得多。要安装 LLD,请在下面找到您的操作系统并运行给定的命令:
Ubuntu: sudo apt-get install lld
Fedora: sudo dnf install lld
Arch: sudo pacman -S lld
Windows:确保您拥有最新的 cargo-binutils,因为这允许 LLD 链接器等命令自动使用。
cargo install -f cargo-binutils
rustup component add llvm-tools-preview
MacOS:您可以按照以下说明手动安装 lld 或通过 brew 安装 llvm,其中包括 lld:brew install llvm
- 替代方案 - 模具连接器:模具比 LLD 快 5×(五倍!),但有一些注意事项,例如平台支持有限和偶尔的稳定性问题。要安装 mold,请在下面找到您的操作系统并运行给定的命令:
Ubuntu: sudo apt-get install mold clang
Fedora: sudo dnf install mold clang
Arch: sudo pacman -S mold clang
Windows: currently not planned for support See this tracking issue for more information.
MacOS: is available commercially with sold
您还需要将以下内容添加到您的 Cargo 配置中:YOUR_WORKSPACE/.cargo/config.toml
[target.x86_64-unknown-linux-gnu]
linker = "clang"
rustflags = ["-C", "link-arg=-fuse-ld=/usr/bin/mold"]
注意:禁用可能会提高此链接器的性能。
构建 Bevy#
现在再次运行。Bevy 依赖项应该开始构建。这将需要一些时间,因为您实际上是从头开始构建引擎。您只需要进行一次完全重建。在此之后的每一次构建都会很快!cargo run
现在我们已经建立了我们的 Bevy 项目,我们准备开始制作我们的第一个 Bevy 应用程序!