banner
[面包]MrTwoC

[面包]MrTwoC

你好,欢迎来到这个基于区块链的个人博客 名字:面包 / MrTwoc 爱好:跑步(5/10KM)、咖啡、游戏(MMORPG、FPS、Minecraft、Warframe) 兴趣方向:Rust、区块链、网络安全、量子信息(量子计算)、游戏设计与开发
bilibili
steam
email
github

[0x02] Bevy-StartSet

设置

由於 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 官方推薦的方式,如果要進行最快速的迭代編譯,則可以試試以下配置

  1. 啟用 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"] }
  1. 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
  1. 替代方案 - 模具連接器:模具比 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 應用程序!

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。