三维技术基础与艺术欣赏ppt课件.ppt_第1页
三维技术基础与艺术欣赏ppt课件.ppt_第2页
三维技术基础与艺术欣赏ppt课件.ppt_第3页
三维技术基础与艺术欣赏ppt课件.ppt_第4页
三维技术基础与艺术欣赏ppt课件.ppt_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 三维技术基础与艺术欣赏 陈永强教授E mail Tel 2 教学目标 主要讲解三维测量 三维静态建模 三维动态仿真 三维重建 三维显示 三维打印 三维动画 三维游戏 三维影视等基本原理和技术 引导学生科学鉴赏三维图形图像 三维动画游戏和三维电影艺术 了解和熟悉三维领域涉及的基本概念和思维方式 了解三维技术最新发展和动态 能更好适应现代三维科技时代的学习工作生活 3 教学内容 第1章三维技术概述第2章三维测量技术第3章三维建模技术第4章三维重建技术第5章三维显示技术第6章三维打印技术第7章三维动画技术第8章三维游戏技术第9章三维影视技术第10章3DSMax简介 4 第8章三维游戏技术 三维场景的表达三维场景的几何表示分三类 多边形网格模型 曲面模型和离散模型 1 多边形网格模型直接使用点 线段和多边形来逼近真实的物体 结合光照明计算模型 表面材质和纹理影射 多边形网格模型是游戏场景中最直接 应用最广的几何表示方法 由于底层图形API 如OpenGL Direct3D 的基本绘制元素是三角形 因此三角网格又是多边形网格中最常见的表示方法 5 第8章三维游戏技术 三维场景的表达2 曲面模型具有以下优点 比多边形的描述更简洁 可以交互调整 比多边形物体更光滑 更连续 动画和碰撞检测更简单和快速 在游戏建模中 越来越多的曲面作为基本的场景描述手段 这主要体现在三个方面 首先 存储曲面模型耗费的内存相对较低 这对控制台游戏特别有用 其次 整体曲面变换比逐个多边形变换计算量更小 第三 如果图形硬件支持曲面 从CPU传送到图形硬件的数据量将大大低于多边形的传送数据量 当前的主流显卡都提供了多边形网格模型与曲面模型之间的互换功能 当然 并不是所有的自由曲线曲面都适合在游戏引擎里使用 只有简洁高效的曲面表示才在实时绘制方面占有优势 曲面包括参数曲面 隐函数曲面和细分曲面 6 第8章三维游戏技术 三维场景的表达3 离散模型 体素模型 使用一些基本体素如长方体 球 柱体 锥体 圆环等 通过集合运算如并 交 差等操作来组合形成物体 体模型的特点是布尔运算非常简单 但存储量大 冗余性高 目前已有一些游戏引擎专门使用体素模型 7 第8章三维游戏技术 三维场景的表达 8 第8章三维游戏技术 真实感图形生成图形绘制的主要功能是根据给定的虚拟相机 三维场景 光源 光照模型和纹理等 在屏幕上生成 绘制 二维图像 其中 场景物体在屏幕上的形状和位置由物体本身的几何 相机的方位和参数而定 而物体在屏幕上的外观则由物体材质属性 光源属性 纹理和设置的光照模型决定 对于不同底层图形绘制API 如OpenGL和DirectX 绘制流程的阶段和实现的功能基本相同 差异在于各个阶段的实现细节 在游戏的图形绘制中 实时性处在最重要的地位 实时性一般指每秒处理 帧以上 交互性一般指每秒处理 帧以上 游戏编程者需要精通图形绘制流程中的各个阶段和功能 但不必了解每个阶段在图形硬件中实施的细节 例如 图形学中经典的三角形扫描线填充算法已经完全固化到图形硬件中了 初学者可以不必知道其中的具体实现细节 9 第8章三维游戏技术 真实感图形生成图形绘制涉及两个最基本的概念 变换和光照 变换的意义是将几何物体从三维空间中找到二维屏幕上的位置 这其中包括一系列的坐标空间变换 裁剪 消隐等操作 由于最普遍的三维模型是网格表示 因此变换整个模型最终被分解为变换顶点的操作 为了减少计算量 早期的图形绘制引擎逐顶点计算光照 因此统称为顶点变换与光照 图形绘制流程由各个阶段组成 各个阶段之间是串联关系 前一阶段的输出是下一阶段的输入 流程图由下图所示 10 第8章三维游戏技术 真实感图形生成 11 第8章三维游戏技术 真实感图形生成物体层 物体层的操作对象是场景的物体 它是输出一系列的由顶点组成的几何基本元素 包括点 线 三角形 因此 物体层最重要的优化措施是减少送入顶点层的几何元素的个数 常用的办法有视域裁剪 可见性判断 优化顶点组织方式 细节层次等 为了模拟客观世界的真实物体 通常要在物体层进行场景的几何处理 如物体变形 碰撞检测 用户拾取等 为了满足实时性的要求 必须优化场景组织和几何设计算法 12 第8章三维游戏技术 真实感图形生成顶点层 实时绘制引擎中 顶点层的实施对象是顶点 分为 个阶段 即 模型和相机变换 逐顶点光照明计算 投影变换 裁剪和视区变换 其中最重要的是计算空间顶点在屏幕上的位置 场景中的物体是在世界坐标系或物体坐标系中建立的 屏幕显示出的画面是在给定相机 相机方向和相机内部参数后 场景物体在二维成像平面上的投影 从世界坐标系到屏幕坐标系需要经历一系列的变换 这些变换的嵌套统称为取景变换 13 第8章三维游戏技术 真实感图形生成像素层 像素层的任务可以简述为 给定几何层输出的顶点位置 颜色和纹理坐标 计算屏幕上每个像素的颜色 从顶点组成的几何变换到像素的过程称为光栅化 像素层的实施对象是每个像素 其结果分别保存于两个缓冲器中 其中颜色缓冲器中保存每个像素的颜色和不透明度 深度缓冲器 也叫Z缓冲器 保存每个像素归一化后的z值 为了保证动画绘制时的视觉连续性 光栅化当前帧的同时在屏幕上输出前一帧 光栅化层采取双缓冲器机制 双缓冲器机制使得图形绘制流程同时保持两个颜色缓冲器 交替作为前台缓冲器和后台缓冲器使用 在任意时刻 前台缓冲器用于显示 后台缓冲器用于绘制 完成后两者进行交换 像素层可分为四个子阶段 消隐 逐像素光照明计算 纹理映射和颜色融合 14 第8章三维游戏技术 三维场景的组织和控制在三维游戏场景中 往往追求用最少的处理器时间和内存耗费创造出最有视觉冲击力的艺术效果 因此能否保证实时高质量的画面显示是游戏图形开发的关键 对于高度复杂的场景 简单的图形硬件加速并不能满足游戏的实时绘制需要 因而必须设计高效算法来进一步加速复杂场景的漫游 与一般的真实感绘制不同 游戏中图形绘制技术在追求速度的同时可以适当损失图形的绘制质量 基于这一原则 三维游戏中图形技术大致可以从三个层面考虑 1 场景的组织与优化 它着重于提高绘制效率 建立优化的场景表达模型 包括场景多边形网格模型的优化 场景几何组织和绘制状态优化技术 层次细节技术以及在此基础上的快速可见性判断与消隐技术等 2 场景画面的真实度 它的前提是保证绘制速度 因此采用了一系列特效生成技术 包括高级纹理映射技术 混合式几何和图像建模与绘制技术 粒子系统 过程式建模等 3 基于真实物理定律的游戏效果模拟 主要是阴影模拟和碰撞检测处理 15 第8章三维游戏技术 三维场景的组织和管理1 基于场景图的表达和管理场景图是一种将场景中的各种数据以图的形式组织在一起的场景数据管理方式 它是一个k 树状结构 根节点是整个场景 树中的每个节点可以有任意多的子节点 每个节点存储由场景集成的数据结构 包括几何物体 光源 相机 声音 物体包围盒 变换和其他属性 场景图也可以被看作一个有向循环图 基于场景图表示的场景绘制封为两步 第一步 根据游戏的需要更新场景图必要的部分 这种更新是部分的 不需要从根节点遍历 如果某个父节点的几何变换改变 父节点的状态会影响到所有子节点的状态 而节点的包围盒的改变则由下向上扩散 第二步 场景图的剔除 绘制过程 对于每个节点 首先剔除不可见部分 并保存上一个节点的绘制状态 待该节点和它的子节点绘制完成后 在恢复上一个节点的绘制状态 16 第8章三维游戏技术 三维场景的组织和管理2 基于绘制状态的场景管理基本思路是把场景物体按绘制状态分类 对于相同状态的物体只设置一次状态并始终保存当前状态表 状态切换是指任意影响画面生成的函数调用 包括纹理 材质 光照 融合等函数 当状态切换时 只需改变和当前状态不一样的状态 由于状态切换是一个耗时的操作 在实际操作绘制中应该尽量避免频繁的状态切换 3 基于景物包围体的场景管理常用的场景包围盒技术有五类 包围球 包围物体的最小球体 AABB包围盒 轴平行包围盒 OBB包围盒 有向包围盒 平行六面体包围盒 k对平行面包围盒 离散有向多面体 17 第8章三维游戏技术 三维场景的组织和管理4 优化场景绘制的几何剖分技术BSP树即空间二叉剖分四叉树八叉树均匀八叉树剖分 18 第8章三维游戏技术 游戏场景的几何优化1 层次细节 LOD levelofdetail 技术层次细节算法不仅能减少场景多边形数目 即场景复杂度 也可以用来控制场景的帧率 当场景速度低于某个值时 可以采用LOD算法减少细节层次 反之 当帧率很高时 意味着可以使用更高精度的模型 因此可以在速度与效果之间达到平衡 层次细节技术主要包括以下四类 简单取舍型LOD平滑过渡型LOD静态LOD动态LOD 19 第8章三维游戏技术 游戏场景的几何优化2 渐进网格和连续多分辨率绘制技术以几何元素删除实现模型简化是层次细节模型自动生成的常用方法 但是由于复杂模型庞大的数据量 使得以往的LOD模型生成方法只能预先产生多个间断的简化模型 从而引起实时绘制时图形画面的跳跃 为了解决这个问题 人们相继提出了渐进网络模型概念以及三维复杂模型的实时连续的多分辨率绘制技术 20 第8章三维游戏技术 三维场景快速可见性判断与消隐1 可见性判断算法分类 21 第8章三维游戏技术 三维场景快速可见性判断与消隐物体层算法主要是利用前面介绍的场景优化方法 顶点层算法最简单的可见性判断方法是背面剔除 它的基本假设是 多边形的绘制模式是单面绘制 而且场景是封闭的 因此 如果多边形的法向背向相机方向 则它是不可见的 背面剔除是底层API OpenGL Direct3D 的图形流水线的一部分 因此游戏的图形引擎不需要特殊设计 第二种可见性算法是视域剔除 除了图形流水线提供的视域四棱锥外 应用程序还可以自行设定裁剪面 剔除场景中的不可见部分 第三种可见性算法是裁剪面剔除 它引入额外的裁剪面 剔除不可见的顶点和多边形 注意 第一和第二种方法都依赖于图形流水线的硬件处理能力 而且可见性判断需要在顶点变换之后进行 因此仍无法避免在顶点变换之前对这些被剔除多边形的处理 22 第8章三维游戏技术 三维场景快速可见性判断与消隐像素层算法传统的深度缓冲算法利用屏幕上同一像素的深度信息决定可见面的判断 有效地利用了图像空间的相关性来加快可见性的判定 但是深度缓冲算法没有利用空间的相关性 因此 人们提出了两类层次结构 即在物体空间建立八叉树层次结构 在图像空间建立深度缓冲的四叉树层次结构的思想 很好的结合了物体空间 图像空间和时空一致性的连贯性 但算法的实施依赖于对深度缓冲器的访问 因而无法使用图形硬件进行加速 23 第8章三维游戏技术 三维场景快速可见性判断与消隐2 基于入口 Portal 技术的可见性判断主要用途是加速室内场景 特别是建筑物场景的可见性判断 与BSP树的技术思路非常类似 都是用于场景可见性判断 不同的是入口技术只使用于室内游戏的场景管理 它将场景预先按照一定的格式组织 即以建筑模型中的主要的遮挡面 墙壁 地板 天花板等 为空间划分面 将建筑模型划分为以房间为基本单元的结构 每个单元包含数目不等的物体 在空间划分的基础上 根据单元之间共有的入口 如门 窗等 建立单元与单元之间的邻接图 入口的几何表示是一个有界平面 但是它不会被真正绘制 很明显 在游戏的任意时刻 游戏中的玩家只能位于某个单元中 考虑到实时漫游时视点的任意性 入口技术定义某个单元的可见性为视点所能看到的区域 即一个视点在此单元中任一位置 任一方向所能看到的区域 单元与单元之间可见就意味着有一条光线能够无遮挡地从此单元到达彼单元 24 第8章三维游戏技术 三维场景快速可见性判断与消隐3 遮挡面剔除技术遮挡面剔除技术不同于视域裁剪和背面裁剪 代表性的遮挡面剔除算法是基于阴影体技术 阴影体是生成场景中阴影的一种算法 它针对场景中的每个潜在的遮挡体生成一个阴影体 并将视点假设为光源 这样位于某个物体的阴影体内部的部分便是不可见的 25 第8章三维游戏技术 三维场景快速可见性判断与消隐4 潜在可见集 PVS 方法在入口技术中 若场景中有n个单元 可以对每个单元设置一个n个比特组成的标志位 如果第i个单元相对于当前单元是可见的 那么第i位设置为 这种潜在可见单元方法在Quake QuakeII中都被使用 它的一个推广版就是可见集算法PVS PVS算法本质上是一种预处理技术 它预先提取出那些潜在的可见面 26 第8章三维游戏技术 地形场景的绘制与漫游地形绘制是室外三维游戏中必须面对的问题 场景地形图通常采用基于四叉树的绘制方法 27 第8章三维游戏技术 三维游戏中的碰撞检测碰撞检测是游戏引擎中不可回避的问题之一 只要场景中物体在移动 就必须判断是否与其他物体相接触 碰撞检测的基本任务是确定两个或多个物体之间是否有接触或穿透 被给出相交部分的信息 如 相交部分的面片号 物体穿刺的深度等 设计健壮高效的碰撞检测算法是游戏编程中的难点 尽管有关碰撞检测的成果已经很丰富 但是游戏场景中常常有成千上万个面片 甚至包含数量大到内存都无法容纳的物体 在这种场景中进行碰撞检测 对碰撞检测的算法提出了更高的要求 因此 针对大规模三维游戏场景的碰撞检测是游戏编程中极富挑战性的课题 28 第8章三

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论