赞
踩
1.5 的部分是关于游戏引擎的介绍
这部分暂时略过(因为书籍有一定的时间延迟)
1.6运行时引擎架构:
1.6 运行时引擎架构
游戏引擎通常由工具套件和运行时组件两部分组成。上图显示了一个典型三维游戏引擎的主要运行时组件。且此图并未包含工具方面。
如同所有的软件系统,游戏引擎也是以软件层构建的。通常上层依赖下层,下层不依赖上层。
当上层依赖下层时,成为循环依赖。再任何软件系统中,循环依赖都要极力避免,不然会导致系统间复杂的耦合,也会使软件难以测试,并妨碍代码重用。
目标硬件
设备驱动程序
设备驱动程序是由操作系统或硬件厂商提供的最低阶软件组件。
负责管理硬件资源,也隔离了操作系统及上层引擎,使上层的软件无须理解不同硬件版本的通信细节差异。
操作系统
PC上的OS是一直在运行的,OS协调一台计算机上多个程序的执行,其中一个程序可能是游戏。
在最开始的游戏主机上,操作系统通常只是个轻量级的库,链接到游戏的执行档里,游戏通常“拥有”整个主机。但是随着发展,PC和游戏机的分野正在慢慢收窄。
第三方软件开发包和中间件
注意:这里由于书籍出版时间的限制,所以下面提到的第三方软件开发包和现在有一定差异,书中主要面向的应该是PS3的时代。
<1>数据结构及算法
<2>图形
<3>碰撞和物理
<4>角色动画
<5>人工智能
<6>生物力学角色模型
Endorphin和Euphoria:
注释:《侠盗猎车手4》是其中一个利用了Euphoria的知名游戏。NPC会对其外在环境生成自然反应的动作。
平台独立层
平台独立层包装了常用的标准C语言库、操作系统调用及其他基础API,确保包装了的接口在所有硬件平台上均一致。
核心系统
常见功能:
<1>断言(assertion):断言是一种检查错误的代码。断言会插入代码中捕捉逻辑错误或找出与程序员原来假设不符的错误。在最后的生产版本中,一般会移除断言检查。
什么是断言:
https://www.jianshu.com/p/22701f40430a
虚幻文档中的断言:
https://docs.unrealengine.com/zh-CN/ProgrammingAndScripting/ProgrammingWithCPP/Assertions/index.html
<2>内存管理
几乎每个游戏引擎都有一个或多个自定义内存分配系统,以保证高速的内存分配和释放,并控制内存碎片所造成的负面影响。
<3>数学库
游戏本质上就是高度数学密集的。因此,每个游戏引擎都有一个或以上数据库,提供矢量、矩阵、四元数旋转、三角学、直线/光线/球体/平截头体(frustum)等的几何操作、样条线操作、数值积分、解方程组,以及其他游戏程序员需要的功能。
关于四元数和旋转可见下面这篇文章,写的很好:
https://zhuanlan.zhihu.com/p/104288667
<4>自定义数据结构和算法
除非引擎设计者想完全依靠第三方软件包,如STL,否则引擎通常要提供一组工具去管理基础数据结构以及算法。
资源管理
每个引擎都有某种形式的资源管理器,提供一个或一组统一接口,去访问任何类型的游戏资产及其他引擎的输入数据。
渲染引擎
渲染引擎的设计通常采用分层架构。
<1>低阶渲染器
这里包含引擎中全部原始的渲染功能。这一层的设计着重于告诉渲染丰富的几何图元集合。
<2>场景图/剔除优化
这部分更仔细的部分,可以看我之前博客中的BSP树相关文章。
低阶渲染器绘画所有被提交的几何图形,不太考虑那些图形是否确实为可见。一般需要较高层次的组件,才能基于某些可视性判别算法去限制提交的图元数量。
非常小的游戏世界可能只需要简单的平截头体剔除(frustum cull)算法(即去除摄像机不能“看到”的物体)。
比较大的游戏世界可能需要较高阶的空间细分(spatial subdivision)数据结构,这种数据结构能快速判别潜在可见集(PVS),令渲染更有效率。空间分割的更多内容可以看下面这篇文章:
https://gameinstitute.qq.com/community/detail/121167
<3>视觉效果
如图引擎支持广泛的视觉效果,包括:
一些全屏幕后期处理效果如下:
<4>前端
剖析和调试工具
碰撞和物理
碰撞和物理系统一般是紧密联系的,因为当碰撞发生时,碰撞几乎总是由物理积分及约束满足逻辑来解决的。
动画
游戏会用到5种基本动画:
这本书会主要讨论骨骼动画系统。
人体学接口设备
音频
没有出色的音频引擎,就没有完整的优秀游戏。
在线多人/网络
游戏性基础系统
游戏性(Gameplay)
<1>游戏世界和游戏对象模型
<2>事件系统
<3>脚本系统
<4>人工智能基础
这里提到了一个称为Kynapse的商用AI,充当人工智能基础层。功能特征包括:
个别游戏专用子系统
1.7工具及资产管道
这部分不做过多介绍。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。