banner
[面包]MrTwoC

[面包]MrTwoC

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

[0x02]Bevy-スタートセット

セットアップ

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!

パフォーマンス最適化のビルド設定を有効にする#

シンプルなプロジェクトの場合、デバッグビルドは問題にならないかもしれませんが、Bevy を使用して本格的なゲームを作成し始めると、Rust のデバッグビルドは非常に遅くなる可能性があります。

デフォルトの設定でデバッグビルドを実行すると、大きな 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 では、パフォーマンス最適化も有効にする必要があります。さもないと、[Too many exported symbols](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:LLDリンカを自動的に使用するために、最新のcargo-binutilsをインストールしてください。
cargo install -f cargo-binutils
rustup component add llvm-tools-preview

MacOS:lldを手動でインストールするか、lldを含むllvmをbrewでインストールすることができます:brew install llvm
  1. 代替案 - mold リンカ:mold は LLD よりも5 倍速いですが、一部の注意事項があります(プラットフォームのサポートが限られている、時々安定性の問題があるなど)。mold をインストールするには、以下のコマンドを実行して、お使いのオペレーティングシステムを見つけて指示に従ってください:
Ubuntu: sudo apt-get install mold clang

Fedora: sudo dnf install mold clang

Arch: sudo pacman -S mold clang

Windows: 現在はサポートされていません。詳細については、このトラッキングイシューを参照してください。

MacOS: 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 の依存関係がビルドされるはずです。これには時間がかかる場合がありますが、実際にエンジンをゼロからビルドしています。完全な再ビルドは 1 回だけ必要です。その後のビルドは非常に高速です!cargo run

Bevy プロジェクトが作成されたので、いよいよ最初の Bevy アプリケーションの作成に取り掛かる準備が整いました!

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。