
软件学院软件技术系 第九章实训课程训练 项目化教学(一)游戏开发 任课教师:杨森 天津电子信息职业技术学院
项目化教学(一)游戏开发

3D游戏引擎介绍报告 。开篇 ,支持DirectX技术的最新三维游戏引擎CryEngine2性能演示 孤岛危机阳光衍射,柔和粒子,环境完全交互等效果演示(30秒) 容积云(Volumetric Clouds): 球谐(Spherical Harmonics) 柔和阴影Soft Shadows) 柔和粒子(Soft Particles) 逆光(Backlighting) 焦散(Caustics): 阳光衍射(sunrays) HDR(High Dynamic Lighting): ·运动模糊(Motion Blur): ·景深(Depth of Field:
3D 游戏引擎介绍报告 ⚫ 开篇 ➢ 支持DirectX技术的最新三维游戏引擎CryEngine2性能演示 ▪ 孤岛危机阳光衍射,柔和粒子,环境完全交互等效果演示(30秒) ▪ 容积云(Volumetric Clouds): ▪ 球谐(Spherical Harmonics) ▪ 柔和阴影(Soft Shadows) ▪ 柔和粒子(Soft Particles) ▪ 逆光(Backlighting) ▪ 焦散(Caustics): ▪ 阳光衍射(sunrays) ▪ HDR(High Dynamic Lighting): ▪ 运动模糊(Motion Blur): ▪ 景深(Depth of Field):

一、 3D游戏引擎的起源 ● (一)、起源 自Doom(毁灭公爵)以来我们在三维游戏上已经走了很远。Doom 不只是一款伟大的游戏,,它同时也开创了一种新的游戏编程模式: 游戏“引整” 这种模块化,可伸缩和扩展的设计观念可以让游戏 玩家和程序设计者深入到游戏核心,用新的模型,场景和声音创造 新的游戏,或向己有的游戏素材中添加新的东西。大量的新游戏根 据已经存在的游戏引擎开发出来,而大多数都以ID公司的Quake (雷神之锤)引擎为基础,这些游戏包括了现在最流行的网络对战 游戏的Counter Strike,还有些游戏使用了Unreal Tournament (虚幻竞技场)引擎。事实上,“游戏引擎”已经成为游戏设计者 和游戏玩家的标准用语
一、3D 游戏引擎的起源 ⚫ (一)、起源 ▪ 自Doom(毁灭公爵)以来我们在三维游戏上已经走了很远。Doom 不只是一款伟大的游戏,它同时也开创了一种新的游戏编程模式: 游戏 “引擎”。这种模块化,可伸缩和扩展的设计观念可以让游戏 玩家和程序设计者深入到游戏核心,用新的模型,场景和声音创造 新的游戏, 或向已有的游戏素材中添加新的东西。大量的新游戏根 据已经存在的游戏引擎开发出来,而大多数都以ID公司的Quake (雷神之锤)引擎为基础, 这些游戏包括了现在最流行的网络对战 游戏的Counter Strike,还有些游戏使用了Unreal Tournament (虚幻竞技场)引擎。事实上, “游戏引擎” 已经成为游戏设计者 和游戏玩家的标准用语

一、 3D游戏引擎的起源 (二)、什么是引擎? 。 我们可以把游戏的引擎比作赛车的引擎,玩家所体验到的刷情、关 卡、美工、音乐、操作等内容都是由游戏的引擎直接控制的,它扮 演着中场发动机的角色,把游戏中的所有元素捆绑在一起,在后台 指挥它们同时、有序地工作。简单地说,引擎就是“用于控制所有 游戏功能的主程序,从计算碰撞、,物理系统和物体的相对位置,到 接受玩家的输入,以及按照正确的音量输出声音等等。 经过不断的进化,如今的游戏引擎已经发展为一套由多个子系统共 同构成的复杂系统,从建模、,动画到光影、粒子特效,从物理系统、 碰撞检测到文件管理、.网络特性,还有专业的编辑工具和插件,几 乎涵盖了开发过程中的所有重要环节
一、3D 游戏引擎的起源 ⚫ (二)、什么是引擎? ▪ 我们可以把游戏的引擎比作赛车的引擎,玩家所体验到的剧情、关 卡、美工、音乐、操作等内容都是由游戏的引擎直接控制的,它扮 演着中场发动机的角色,把游戏中的所有元素捆绑在一起,在后台 指挥它们同时、有序地工作。简单地说,引擎就是“用于控制所有 游戏功能的主程序,从计算碰撞、物理系统和物体的相对位置,到 接受玩家的输入,以及按照正确的音量输出声音等等。” ▪ 经过不断的进化,如今的游戏引擎已经发展为一套由多个子系统共 同构成的复杂系统,从建模、动画到光影、粒子特效,从物理系统、 碰撞检测到文件管理、网络特性,还有专业的编辑工具和插件,几 乎涵盖了开发过程中的所有重要环节

一、3D游戏引擎的起源 ● (三)、引擎的基本组成 ()动画系统可以分为两种:一是骨骼动画系统,二是模型动画系统, 前者用内置的骨骼带动物体产生运动,比较常见,后者则是在模型 的基础上直接进行变形。引擎把这两种动画系统预先植入游戏,方 便动画师为角色设计丰富的动作造型。 (2).物理系统,这可以使物体的运动遵循固定的规律,例如,当角色 跳起的时候,系统内定的重力值将决定他能跳多高,以及他下落的 速度有多快,子弹的飞行轨迹、车辆的颠簸方式也都是由物理系统 决定的。碰撞探测是物理系统的核心部分,它可以探测游戏中各物 体的物理边缘。当两个3D物体撞在一起的时候,这种技术可以防止 它们相互穿过,这就确保了当你撞在墙上的时候,不会穿墙而过, 也不会把墙撞倒,因为碰撞探测会根据你和墙之间的特性确定两者 的位置和相互的作用关系
一、3D 游戏引擎的起源 ⚫ (三)、引擎的基本组成 ▪ (1).动画系统可以分为两种:一是骨骼动画系统,二是模型动画系统, 前者用内置的骨骼带动物体产生运动,比较常见,后者则是在模型 的基础上直接进行变形。引擎把这两种动画系统预先植入游戏,方 便动画师为角色设计丰富的动作造型。 ▪ (2).物理系统,这可以使物体的运动遵循固定的规律,例如,当角色 跳起的时候,系统内定的重力值将决定他能跳多高,以及他下落的 速度有多快,子弹的飞行轨迹、车辆的颠簸方式也都是由物理系统 决定的。碰撞探测是物理系统的核心部分,它可以探测游戏中各物 体的物理边缘。当两个3D物体撞在一起的时候,这种技术可以防止 它们相互穿过,这就确保了当你撞在墙上的时候,不会穿墙而过, 也不会把墙撞倒,因为碰撞探测会根据你和墙之间的特性确定两者 的位置和相互的作用关系

一、 3D游戏引擎的起源 ● (三)、引擎的基本组成 (3)渲染是引擎最重要的功能之一, 当3D模型制作完毕之后,美工会 按照不同的面把材质贴图赋予模型,这相当于为骨骼蒙上皮肤,最 后再通过渲染引擎把模型、动画、光影、特效等所有效果实时计算 出来并展示在屏幕上。渲染引擎在引擎的所有部件当中是最复杂的, 它的强大与否直接决定着最终的输出质量。 (4)引擎还有一个重要的职责就是负责玩家与电脑之间的沟通,处理 来自键盘、鼠标、摇杆和其它外设的信号。如果游戏支持联网特性 的话,网络代码也会被集成在引擎中,用于管理客户端与服务器之 间的通信
一、3D 游戏引擎的起源 ⚫ (三)、引擎的基本组成 ▪ (3).渲染是引擎最重要的功能之一,当3D模型制作完毕之后,美工会 按照不同的面把材质贴图赋予模型,这相当于为骨骼蒙上皮肤,最 后再通过渲染引擎把模型、动画、光影、特效等所有效果实时计算 出来并展示在屏幕上。渲染引擎在引擎的所有部件当中是最复杂的, 它的强大与否直接决定着最终的输出质量。 ▪ (4).引擎还有一个重要的职责就是负责玩家与电脑之间的沟通,处理 来自键盘、鼠标、摇杆和其它外设的信号。如果游戏支持联网特性 的话,网络代码也会被集成在引擎中,用于管理客户端与服务器之 间的通信

一、3D游戏引擎的起源 ·(四)、3D游戏引擎的核心 >(1)渲染器(核心) 。 (A).应用程序场景 场景/几何数据库遍历 对象的运动,观察相机的运动和瞄准 对象模型的动画运动 3D世界内容的描述 对象的可见性检查,包括可能的遮挡剔除 细节层次的选择(LOD)
一、3D 游戏引擎的起源 ⚫ (四)、3D游戏引擎的核心 ➢ (1).渲染器(核心) ▪ (A). 应用程序/ 场景 ▪ 场景/ 几何数据库遍历 ▪ 对象的运动,观察相机的运动和瞄准 ▪ 对象模型的动画运动 ▪ 3D 世界内容的描述 ▪ 对象的可见性检查,包括可能的遮挡剔除 ▪ 细节层次的选择(LOD)

一、3D游戏引擎的起源 ·(四)、3D游戏引擎的核心 >(1)渲染器(核心) ·(B).几何 变换(旋转,平移,缩放) 从模型空间到世界空间的变换(Direct3D) 从世界空间到观察空间变换 观察投影 细节接受/拒绝剔除 背面剔除(也可以在后面的屏幕空间中做) 光照 透视分割-变换到裁剪空间 裁剪 变换到屏幕空间
一、3D 游戏引擎的起源 ⚫ (四)、3D游戏引擎的核心 ➢ (1).渲染器(核心) ▪ (B). 几何 ▪ 变换 (旋转,平移, 缩放) ▪ 从模型空间到世界空间的变换(Direct3D) ▪ 从世界空间到观察空间变换 ▪ 观察投影 ▪ 细节接受/ 拒绝 剔除 ▪ 背面剔除(也可以在后面的屏幕空间中做) ▪ 光照 ▪ 透视分割- 变换到裁剪空间 ▪ 裁剪 ▪ 变换到屏幕空间

一、3D游戏引擎的起源 ·(四)、3D游戏引擎的核心 》(1)渲染器(核心) ·(C).三角形生成 背面剔除(或者在光照计算之前的观察空间中完成) 斜率/角度计算 扫瞄线变换 (D).渲染1光栅化 着色 纹理 雾 Alpha透明测试 深度缓冲 抗锯齿(可选择的) 曲面片(高次表面) 显示
一、3D 游戏引擎的起源 ⚫ (四)、3D游戏引擎的核心 ➢ (1).渲染器(核心) ▪ (C). 三角形生成 ▪ 背面剔除( 或者在光照计算之前的观察空间中完成) ▪ 斜率/ 角度计算 ▪ 扫瞄线变换 ▪ (D). 渲染 / 光栅化 ▪ 着色 ▪ 纹理 ▪ 雾 ▪ Alpha 透明测试 ▪ 深度缓冲 ▪ 抗锯齿 (可选择的) ▪ 曲面片(高次表面) ▪ 显示

一、3D游戏引擎的起源 ·(五)、3D游戏引擎的设计要素 》设计要素一对光照和纹理的处理 ·世界的灯光 ·顶点光照 顶点着色(Gouraud着色) Phong着色 照明映射 混合照明 裁剪运算 三角形生成阶段 纹理与MIP映射(多纹理映射) 多重纹理与凹凸映射 凹凸贴图 高速缓存抖动 纹理压缩
一、3D 游戏引擎的起源 ⚫ (五)、3D游戏引擎的设计要素 ➢ 设计要素-对光照和纹理的处理 ▪ 世界的灯光 ▪ 顶点光照 ▪ 顶点着色 ( Gouraud 着色) ▪ Phong 着色 ▪ 照明映射 ▪ 混合照明 ▪ 裁剪运算 ▪ 三角形生成阶段 ▪ 纹理与MIP映射(多纹理映射) ▪ 多重纹理与凹凸映射 ▪ 凹凸贴图 ▪ 高速缓存抖动 ▪ 纹理压缩