Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

0.1编写本书的意图

由于有关Bevy的系统的、完整的指南书到目前为止仍然欠缺,互联网上的许多指南和总结过于零散,关于Bevy的深入开发常常需要自行理解源码并查阅大量的Bevy文档,这消耗了程序员大量的时间且效率低下严重阻碍了Bevy生态的发展。Bevy经过5年的发展,距离真正的1.0版本完成度已接近8成,是时候撰写一本完善的指南来帮助程序员们快速理解Bevy的系统组成了。

本书的撰写目标是那些已经能够初步掌握Rust语言以及基本线性代数但之前从未接触过游戏开发与计算机图形学的开发者们,本书的章节将从0开始由浅入深介绍Bevy,系统介绍Bevy的架构和Bevy插件的深入的开发,虽然不会对Bevy进行面面俱到的介绍,但是也足以让读者能够深入了解Bevy的工作流程,即使在未来Bevy发生重大变化时,也能够轻松上手。

0.2 Bevy能做什么

Bevy作为Rust生态中最火热几个项目之一,虽然设计初衷是一个游戏引擎,但是在笔者看来,Bevy目前更像是一个3D程序开发应用框架。Bevy目前(撰写本书时候,版本截止到0.17.0)还没有一个场景编辑器,开发中需要在纯代码的层次进行编写,对于游戏开发人员的编程水平和三维想象能力的要求也会更高。笔者目前也不推荐在1.0版本之前就使用其编写一个较为复杂的游戏,但是如果从3D程序开发框架的角度来看待Bevy,那么Bevy已经能够胜任很多事了。

如果你想用Rust而不是C++开发3D程序,那么使用Bevy准没错!

0.3 预备知识

Rust是公认的编程语言中最难掌握的几种之一,但是掌握Rust所带来的回报也是及其丰厚的。由于Bevy使用Rust进行开发,因此读者需要有完善的Rust知识,包括Rust中的并行、异步等。

由于在3D开发中经常需要涉及大量的矩阵变换,因此读者应当具有大学线性代数水平的数学知识,本书中将不会再对线性代数部分进行重复的讲解,这一部分的讲解在互联网上已经足够多了。

在本书的后半部分需要编写自定义渲染管线时,需要使用WGSL语言,该部分将在届时进行简单的介绍,但计算机图形学是一门复杂又庞大的领域,具体的详细介绍与参考请读者参阅WSGL语言的详细介绍。

WSGL语言:https://www.w3.org/TR/2025/CRD-WGSL-20250926/


0.4 参考文献

Bevy examples:https://github.com/bevyengine/bevy

Bevy docx:https://docs.rs/bevy/0.17.1/bevy/

Unofficial Bevy Cheat Book:https://bevy-cheatbook.github.io/overview.html

Bevy game development:https://taintedcoders.com/

bevy_pointcloud:https://github.com/rlamarche/bevy_pointcloud/tree/main

wgpu:https://sotrh.github.io/learn-wgpu/#what-is-wgpu

WebGPU:https://webgpufundamentals.org/webgpu/lessons/webgpu-fundamentals.html

awesome_bevy:https://github.com/nolantait/awesome-bevy

还有互联网上的一切热心的社区贡献者的文章、评论、回答

最后,感谢Bevy社区和互联网上的每一个贡献者和解答者们,没有你们的无私付出Bevy和Rust就无法迎来长足的发展,也就不会有本书。