Hello,Bevy

1,008 阅读2分钟

image.png

什么是Bevy

直接使用官网的定义:一种令人耳目一新的简单、以数据为驱动的游戏引擎,用Rust编程语言构建且永远免费开源!

Bevy跟其他游戏引擎最大的区别是,像UnityUnreal Engine等其他游戏引擎都有专门类似IDE的集成游戏制作环境,而Bevy是通过代码构建的。我们需要编写Rust代码来实现游戏的逻辑、UI创建、精灵的创建等,相较于其他游戏引擎,Bevy对于游戏的整个创作流程,有着更高的控制权,需要开发者有更高的能力去控制游戏,同样,也更耗时。

我们不建议在大型商业项目中使用Bevy,毕竟,Bevy还太年轻,如果碰见很棘手的问题,可能得到的帮助也不是很多。但如果你对游戏创作有着浓厚的兴趣,同时又不喜欢使用现有的游戏引擎创作游戏,那么,来看看Bevy吧,至少,试一下。

对了,Bevy到底是什么意思?

群鸟。

预备

因为Bevy是基于Rust构建的,所以,我们需要按照创建Rust工程的方式创建Bevy工程。在使用Bevy之前,请确保你正确地安装了Rust

至于Rust开发工具的选择,目前推荐的是VSCode以及RustRover,当然你也可以使用其他任何你喜欢的文本编辑器。本系列,将会采用RustRover作为主要开发工具。

在正确地安装Rust之后,我们正式开启Bevy之旅。

开始

打开命令行

cargo new bevy_step_by_step

通过使用cargo命令,我们创建了一个bevy_step_by_step的工程,如果一切顺利的话,我们将得到这样一个目录结构:

image.png

打开Cargo.toml文件,你会看到如下内容:

[package]
name = "bevy_step_by_step"
version = "0.1.0"
edition = "2021"

我们添加上Bevy的依赖:

[dependencies]
bevy = "0.15"

同时,我们添加上一段编译优化的代码:

# 在开发配置文件中启用少量优化
[profile.dev]
opt-level = 1

# 在开发配置文件中对依赖项启用大量优化
[profile.dev.package."*"]
opt-level = 3

至此,我们已经完全的引入了Bevy,现在,我们开始编写第一段代码,先是一个游戏窗口。

第一个窗口

打开main.rs文件:

use bevy::prelude::App;
use bevy::DefaultPlugins;

fn main() {
    App::new().add_plugins(DefaultPlugins).run();
}

好的,运行!!!

在经过一个漫长的等待之后1,我们将会看到我们游戏的第一个窗口:

image.png

很简单,不是吗?

Footnotes

  1. Rust工程通常第一次构建的时候会非常慢,因为Rust工程是源码编译的,所以第一次构建的时候会加载源码并编译。同样Bevy有很多依赖