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 公式の推奨方法であり、最も高速なイテレーションビルドを行う場合に試してみることができます。
- 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"] }
- 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
- 代替案 - 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 アプリケーションの作成に取り掛かる準備が整いました!