はじめに
今回初めてのQiita記事です。
不都合な点や気になる点がありましたらご教授いただけると幸いです。
よろしくお願いいたします。
また、今回はECSに関する詳しい内容は記述しません。
あくまで簡単な利用方法を日本語で簡単に記録するものです。
作業環境
OS: Windows
cargo: 1.80.1
bevy: 0.14
インストール
- Rustプロジェクトに
cargo add
でbevyを追加する
cargo add bevy
-
Cargo.toml
を見ると以下のような記述が追加されているはずです
[dependencies]
bevy = "0.14"
最適化
シンプルなプロジェクトであればそこまで気にはならないが規模が大きくなるにつれてコンパイルが重くなってくため事前に対策しておく。
-
Cargo.toml
に以下の内容を追加する
# レベル1だけ最適化を有効にする
[profile.dev]
opt-level = 1
# 依存関係に対してレベル3の最適化を有効にする
[profile.dev.package."*"]
opt-level = 3
- LLDリンク
以下のコマンドでLLDリンカーを利用できるようにする。
# Ubuntu
sudo apt-get install lld clang
# Windows
cargo install -f cargo-binutils
rustup component add llvm-tools-preview
プロジェクト\.cargo\config.toml
に以下の内容を追加する
# Linux
[target.x86_64-unknown-linux-gnu]
linker = "clang"
rustflags = ["-C", "link-arg=-fuse-ld=lld"]
# Windows
[target.x86_64-pc-windows-msvc]
linker = "rust-lld.exe"
Windowsには対応してはないですが、moldというリンカーが早いらしいです。
Linuxの方はこちらを使ったほうが良いかもしれないです。
Maxの方はmoldをフォークしたリンカーとしてsoldがあるのでそちらを利用してもよいかもしれないです。
現時点では詳しいことはわかりませんが、soldはWindowsも対応予定とのことです(https://github.com/bluewhalesystems/sold/issues/8)
とりあえずビルドして実行したい
- main関数を書いていく
use bevy::prelude::*;
fn main() {
App::new().run();
}
これだと空のシェルが動くだけです。
もっと込み入った利用方法は別の記事にまとめる予定です。
最後に
最近マイブームのRustを利用したゲーム開発がしたく初めてみました。
勉強&学習内容のメモ程度にいろいろまとめて行きたいと思っています。