希望能早点看这本书:除了介绍各种知识点,更重要的是整合相关知识点,形成框架感。
比如Unity中的Lightmap游戏引擎架构怎么样,如果你知道它是渲染引擎中资产调整阶段的一部分,那么它可以关联到整个渲染过程,而整个渲染引擎其实就是游戏引擎的一个子系统.
我想这就是作者写这本书的目的!
本文的主要目的是尝试理解作者的框架和意图,作为总结和回顾。
接下来游戏引擎架构怎么样,按照作者的结构顺序,做一个简单的概述:
十五章
基金会
第 1 部分:基础知识
作者首先介绍了游戏团队的典型结构:程序、美术、策划,然后解释了游戏是什么以及游戏引擎的历史。同时,不同的游戏类型有不同的引擎。例如,虚幻引擎最初用于 FPS 游戏。
游戏引擎无疑是一个大型的软件系统,如下两张图所示:
运行时游戏架构
p>
工具和资产管理渠道
本书的其余部分都是基于这些内容。
在进入正题之前数据报告,笔者先介绍了一些必备的专业工具和软件工程的基础,以及必不可少的(头疼的)数学!
这节数学除了复习了很多点、向量、矩阵等基础知识外,终于弄明白了欧拉角的万能锁问题,可以说受益匪浅!
第二个低级引擎系统
接下来,作者从每个游戏需要的一些底层支持系统入手:游戏支持系统、资源和文件系统、循环和实时模拟、人机接口设备、调试和开发工具。
低级引擎系统
它的各个方面,例如内存管理或资源管理、日志记录和跟踪,都是游戏开发者会经常遇到的。
三个图形和动画
而第三部分是我最关心的:渲染。
本以为渲染引擎应该是引擎中最复杂的部分,没想到动画系统、碰撞和刚体力学实现起来非常复杂:这三个部分也占了近百篇页面内容。
下面是我为了看作者思路最仔细看过的渲染引擎的例子:
渲染引擎
3D场景的渲染分为以下几个基本步骤:描述虚拟场景、定位虚拟相机、设置光源、描述场景中物体表面的视觉特征、着色方程。
在游戏引擎中,高级渲染步骤是通过一种称为管道的软件架构来实现的,其最大的优点是非常适合并行化。
下图描述了整个渲染管道中数据变换的过程:
渲染管道中的数据转换
其中,模型和材质的制作在工具阶段进行,资产调整阶段包括导入资源、烘焙Lightmap等,应用阶段负责可见性判断、几何排序和提交图元,几何阶段处理每个顶点,光栅化阶段将三角形转换为片段并处理片段。
照明算法对于渲染逼真的场景非常重要。它可以通过纹理信息影响光照,或者使用 HDR 保留更多细节。阴影和 AO 是全局照明的一部分。时间渲染提供了另一种为场景着色的方法。
在游戏中,除了渲染3D实体,还有粒子特效、贴花、环境特效、后期处理等等。
四种玩法
在介绍了游戏引擎所使用的技术之后,笔者提醒我们,游戏的本质在于玩法——玩游戏的整体体验,更具体的说是游戏机制。在游戏玩法系统介绍一章中,作者谈到了关卡、游戏编辑器、数据驱动等与游戏机制密切相关的部分。
第四部分
运行时游戏基础系统唤起了作为 Unity 前端的各种记忆:C# 和 Lua 脚本语言、事件驱动和消息传递、MonoBehavior 的 Update()、动态内存池管理、地图块加载、任务系统等.
五个总结
最后在一章中,作者添加了几个引擎和游戏系统,因为没有足够的空间来讨论:
其他内容