已阅读5页,还剩65页未读, 继续免费阅读
(计算数学专业论文)3d游戏中的真实感处理.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
贵州师范大学硕士学位论文 摘要 随着计算机产业的飞速发展和人们对于游戏方面的需求,近几年,游戏产业也在硬 件的发展下,在玩家的需求下随之飞速发展起来了,因此,人们对于游戏的要求也越来 越高,作为游戏组成的一个最主要的方面画面来说,便是吸引玩家的一个主要因素。 对游戏画面进行优化的时候,选择对其真实感方面进行画面优化设计,可以达到画 面的完美效果,因此真实感处理在游戏中的地位就相对的越来越重要了,但是与普通的 真实感处理不同,游戏中的真实感技术必须以游戏的运行速度为主要指标,在使得游戏 运行流畅的基础上,完成对于真实感的处理,也就是说,在对图像进行真实感处理的时 候,必须保证处理的数据量尽可能的少,本课题就是在这个环境为背景进行的研究和设 计,根据游戏中的景物所处的不同场景的位置,和点光源的位置关系,通过对于视角的 可视化判断对于视野区域的剔除,在场景中出现例如,阴影,光晕效果,并且对于在场 景其他不同映射面上的阴影进行反走样以及边缘碰撞检测等方面等真实感方面的处理, 以达到游戏对于玩家更加真实更加具有可玩性,对于游戏产业来说,更具有竞争力。 关键字:游戏;真实感;阴影:编程 贵州师范大学硕十学位论文 a b s tr a c t w i t ht h er a p i dd e v e l o p m e n to ft h ec o m p u t e ri n d u s t r ya n d p e o p l e sd e m a n df o rt h eg a m e ,i n r e c e n ty e a r s ,g a m ei n d u s t r yi st h ed e v e l o p m e n to f h 鲫d w a r e ,i nap l a y e r sd e m a n dt of o l l o w t h er a p i dd e v e l o p m e n t ,s o ,t h e r ei sa g r o w i n gd e m a n df o rg a m e st h eh i g h e rt h eg a m ei s c o m p o s e do f a so n eo ft h em o s ti m p o r t a n ta s p e c t - t h es c r e e ni st oa t t r a c tp l a y e r si sa m a j o r t h e r e f o r e ,t oo p t i m i z et h eg a m es c r e e n ,w ec h o s et oc a r r yo u tr e a l i s t i cp i c t u r eo ft h e i r o p t i m a ld e s i g n ,i no r d e rt oa c h i e v et h ee x p l o s i v ee f f e c to ft h es c r e e i l ,s or e a l i s t i ct od e a lw i t h t h es t a t u so ft h eg a m em o r ea n dm o r ei m p o r t a n to nt h er e l a t i v e ,b u tw i t hd i f f e r e n tf r o m o r d i n a r yr e a l i t yt od e a l ,t h eg a m ei nt e c h n o l o g ym u s tb er e a l i s t i ci no r d e rt om a k et h eg a m e s p e e d e r ,a st h em a i nc o n s i d e r a t i o no fi n d i c a t o r st h eg a m er u ns m o o t h l yo nt h eb a s i so ft h e c o m p l e t i o no f t h ed e a lf o r t h er e a l i s t i c ,w h i c hm e a n st h a t ,i nt h et r u ei m a g es e n s ew h e n d e a l i n gw i t ht h en e e dt oe n s u r ew e a r ed e a l i n gw i t ht h el e s sa m o u n to fd a t aa sp o s s i b l e ,t h e s u b j e c ti st h ee n v i r o n m e n ti nt h eb a c k g r o u n do f t h er e s e a r c ha n dd e s i g n ,i na c c o r d a n c ew i t h t h ef e a t u r e so ft h eg a m ei nw h i c ht h el o c a t i o no ft h ed i f f e r e n ts c e n e s ,a n dt h er e l a t i o n s h i p b e t w e e nt h el o c a t i o no f p o i n tl i g h ts o u r c et h r o u g ht h ep e r s p e c t i v et oj u d g et h ev i s u a lf i e l do f v i s i o nf o rt h er e g i o ne x c l u d i n g , f o re x a m p l e ,a p p e a r si nt h es c e n e ,s h a d o w ,h a l oe f f e c t s ,a n d o t h e rs c e n e sf o rm a p p i n gt h es u r f a c eo ft h es h a d o wo f a n t i a l i a s i n ga n do t h e rr e a l i s t i ca s p e c t s o ft h eh a n d l i n go ft h ep r o c e s s i n g , i no r d e rt oa c h i e v eam o r er e a lg a m ef o rt h e p l a y e r sm o r e p l a y a b i l i t yf o rt h eg a m ei n d u s t r yi sm o r ec o m p e t i t i v e k e y w o r d s :g a m e ;r e a l i s t i c ;s h a d o w ;p r o g r a m m i n g i l 原创性声明r 本人郑重声明:所呈交的学位论文,是本人在导师的指导下进行研究所取得的成果。 尽我所知,除文中已经注明引用和致谢的地方外,本论文不包含任何其他个人或集体已 经发表或撰写过的科研成果。对本文的研究做出重要贡献的个人或集体,均已在文中以 明确方式标明并表示了谢意。本人完全意识到本声明的法律责任由本人承担。 论文作者签名: 垂3 墨 关于学位论文使用授权的声明 本人完全了解贵州师范大学有关保留、使用学位论文的规定,同意学校保留或向国 家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅;本人授权贵州 师范大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影 印、缩印或其他复制手段保存论文和汇编学位论文。同时授权中国科学技术信息研究 所将本学位论文收录到中国学位论文全文数据库,并通过网络向社会公众提供信息 服务。 ( 保密论文在解密后适用本授权声明) 论文作者签名:盘杰圣 导师签名: f夕 、履洲 , 一五 贵州师范大学硕士研究生学位论文 引言 1 课题研究的目的与意义 随着近年来计算机游戏产业的持续升温,游戏产业的价值引起了国人的高度重视。 计算机游戏是一个集成了多领域技术的高新产业;因为它本身的娱乐性,竞技性,仿真 性以及其他一些综合因素,渐渐的计算机游戏已经成为了全世界最受欢迎的一种新兴的 娱乐形式之一。在进入了2 1 世纪后,以计算机游戏为先锋的互动娱乐产业也渐渐的崛 起成为最新近的朝阳产业,而且已经发展成为了全球i t 产业的一个新的增长点,同时, 随着计算机游戏产业的不断发展,一些简单的2 d 游戏由于其简单性,以及视觉效果上 的单一和失真,玩家对于游戏的需求度也越来越高,它正在逐渐被3 d 游戏所取代。因 此3 d 游戏所占据的市场份额也自然而然的随之增大,并且逐渐的演变为当今游戏的主 流形式。 对于3 d 游戏来说,其游戏情节和互动性都是非常重要的,但是作为一款游戏,第 一眼( 视觉效果) 便能吸引玩家,甚至可以说是一款游戏的开发成败的关键。那么将视 觉效果作为吸引玩家的一种手段的话,在3 d 的游戏场景的绘制中,就必须要实现高质 量的画面,对其真实感以及游戏的完整性进行优化处理。作为数字图像处理,需要对图 像的各个部分进行复杂运算,在复杂场景设计时,就要对大量的数据进行处理分析,同 时,要考虑到更多的方面,如对于场景中的物体,要得到它的真实感图像,就要对它进 行透视投影,并作隐藏面的消隐,然后计算可见面的光照明暗效果,得到场景的真实感 图像显示。作为一款计算机游戏来说,在保持视觉效果的吸引力下,需要注意的一个非 常关键的问题便是,游戏的运行速度,也就是说,在进行计算机游戏设计的时候,还必 须保持游戏的运行的流畅度,那么就必须进行图像的简化处理,以及一些特殊的处理完 成更加完美的图像效果。 本课题通过对游戏中的场景进行纹理映射、边缘碰撞检测、光照和阴影处理等方法, 以便实现在3 d 游戏中的一种图像的真质感的处理,实现游戏图像的逼真效果,并且在 保证程序运行流畅的情况下,使得游戏更有美感,更有真实感,更有竞争力,也更加具 有商业价值。 贵州师范人学硕士研究生学位论文 2 国内外研究现状 计算机游戏是一个结合了高新技术的新兴科技产业,经历了2 0 世纪末初期的阶段, 近几年其迅猛的发展速度甚至推动了全球的信息产业的整体增长,在游戏的市场中,甚 至每半个月就有一款新的游戏问世。由于我国的信息产业在国际中所处于的地位,我国 的游戏产业仅仅是处于成长期,但是由于我国独特的国际地位,即人口众多,玩家众多, 因此我国是整个世界的计算机游戏的一个大的推广的市场,近几年我国的游戏产业也处 于一个飞速的增长期。 在计算机游戏领域,欧美和曰韩现在对我国来说是处于一个绝对的领先地位,其游 戏的情节、场景、画面、关卡设计,以及游戏商业运作方面都远远的较我国的游戏产业 成熟。例如以前的暗黑破坏神,雷神之锤,反恐精英,魔兽世界等等, 都是3 d 游戏中不可多的优秀作品。同时,当这些游戏作品进入我国的时候,自然而然 的就占据了大份额的市场。这对中国的游戏产业者来说,面临了一个喜忧参半的境地, 国外游戏的进入明显的好处便是能够推动我国游戏产业的发展与前进,同时也能够推动 我国信息产业的发展,能够创造出更多的商业和市场价值,但是令担忧的便是,由于国 外游戏产业的领先地位,会直接的对我国自主开发的游戏产生强大的冲击。最近几年, 来自全球各地的游戏发行商和开发商正在以前所未有的速度大举进驻中国市场,这一点 几乎已是人尽皆知的事实。许多国际大型游戏发行商纷纷在中国建立分公司、工作室, 而吸引他们来华投资的主要原因,除了中国本土低廉的产品开发成本以外,巨大的市场 潜力和飞快的发展速度这两方面所占比重也j 下在与日俱增。这样,留给国内的游戏开发 者的便是在游戏大军滚滚前进的车轮印中的一些思考,需要像国际先进技术学习,实现 自主研发,完成能够与国外优秀游戏一较长短的游戏。因此本课题便是着眼于游戏开发 中的一个领域,优化其图像,更好实现游戏中的真实感,增加游戏的竞争力。 2 贵州师范大学硕士研究生学位论文 3 研究的主要内容 与一般的真实感绘制不同,游戏中的图形绘制技术由于需要考虑到游戏运行速度的 特点,可以适当的损失图像的绘制质量,达到以空间换时间的目的。基于这一原则,三 维游戏中的图像处理技术大致可分为三个层面考虑: 第一个层面:考虑场景的几何组织优化,它着重于提高绘制的效率,建立优化的场 景表达模型,包括场景内的多面性模型的优化,场景几何组织和绘制状态优化技术、层 次细节技术以及在此基础上的快速可见性的判断以及其消隐的技术等等。 第二个层面:考虑场景中画面的真实感效果,但是它的前提是保证绘制的速度,因 此采用了一系列的特效生成技术,把高级纹理映射,混合式几何图像建模绘制等技术相 结合。考虑的是一些对于真实的物理定律进行效果的模拟,主要是阴影模拟和边缘碰撞 检测处理以及光亮度的处理。 第三个层面:人机交互界面,有好的游戏组织,好的游戏画面,那么同样,也需要 好的人机交互体系,比如好的操作方案,声音的引入等,一个好的人机交互体系切实的 可以让玩家感受到游戏带来的身临其境的乐趣,达到与游戏融合为一体,实现全方位的 游戏真实感的效果。 因此,本课题的主要研究目的就是争取实现3 d 游戏中的图形优化,由于已经有了 在真实感图形处理上的一些理论的支撑,因此课题的重点便在具体的实施和操作上,本 论文对于3 d 游戏中独有的图形处理所涉及的重点问题加以阐述和解决,并且在最后的 编程实现上,能够实现一个框架完整,操作流畅的可执行程序。探讨在预先设计的一个 场景中,生成某一个物体,在物体所处的场景中,可以进行简单的地图漫游,并且对场 景中的物体实现纹理特征。并且争取达到根据点光源与物体的距离,角度的不同以及阴 影的投影区域的不同,实现物体在场景中阴影的变化。 3 贵州师范大学硕+ 研究生学位论文 第一章真实感数字图像技术 1 1 真实感数字图像基本知识 真实感图形学是计算机图形的核心内容之一,是最能直接反映图形学魅力的分支。 由于现实生活中各类物体形态各异,因此真实感图形学的内容非常庞杂。真实感图形学 是计算机图形学中一个重要的组成部分,它的基本要求就是在计算机中生成三维场景的 真实感图形图像( 3 d ) ,包括各类自然现象。随着计算机图形学和计算机本身的发展, 真实感图形学在人们日常的工作、学习和生活中已经有了非常广泛的应用。在多媒体教 育、计算机游戏、虚拟现实系统、科学计算可视化、动画制作、电影特技、训练模拟等 许多方面,都可以看到真实感图形学在其中发挥了重要的作用,而且人们对于计算机在 视觉感受方面的要求越来越严格,这就需要研究更多更逼真的真实感图像生成算法。 l 颜色视觉 对于真实感图形学,要产生具有高度真实感的图像,颜色是其中最重要的成分。颜 色与光线的波长密切相关,但直接讨论光的光谱能量分布非常不便,在图形学中一般采 用三基色颜色系统。目前的光栅扫描显示器采用的就是这种颜色系统。类似地,在光照 明模型中,通常只要分别计算红( r ) ,绿( g ) ,蓝( b ) 三个分量的光强值,就可以得 到某个像素点上的颜色值,给人以某种颜色的感觉。这个过程看起来很简单,可是为什 么简单地通过三个分量的计算就可以产生颜色感觉,却包含着许多很复杂的概念,其中 涉及到物理学、心理学、生理学、美学等不同的学科。 通过以往在物理学中对光与颜色的研究,人们发现颜色具有恒常性,可以根据物体 的固有颜色来感知它们,而不会受外界条件变化的影响。颜色之间的对比效应能够使人 区分不同的颜色,同时,颜色还具有混合性。牛顿在1 7 世纪后期用棱镜把太阳光分散 成光谱上的颜色光带,用实验证明了白光是由很多颜色的光混合而成的。1 9 世纪初, y a u n g 提出某一种波长的光可以通过3 种不同波长的光混合而复现出来的假设,红、绿、 蓝3 种单色光可以作为基本的颜色一一原色。把这3 种光按照不同的比例混合,就能准 确复现其他任何波长的光,而将它们等量混合就可以产生白光;后来m a x w e l l 用旋转圆 盘所作的颜色混合实验也验证了y a u n g 的假设。三色学说是真实感图形学的生理视觉基 4 贵州师范大学硕士研究生学位论文 础,是颜色视觉中最基础、最根本的理论。计算机图形学中所采用的r ,g ,b 颜色模型 以及其他的颜色模型都是根据这个学说提出来的。 2 简单光照明模型畸1 当光照射到物体表面时,光线可能被吸收、反射和透射。被物体吸收的部分转化为 热,反射、透射的光部分进入人的视觉系统,使人们能看见物体。为模拟这一现象,可 建立一些数学模型来替代复杂的物理模型。这些模型就称为明暗效应模型或者光照明模 型。三维形体的图形经过消隐后,再进行明暗效应的处理,可以迸一步提高图形的真实 感。 1 9 6 7 年,w y li e 等人第一次在显示物体时加进光照效果,并假设物体表面上一点的 光强,与该点到光源的距离成反比。1 9 7 0 年,b o u k n i g h t 在c o m m a c m 上发表论文,提 出了第一个光反射模型,指出物体表面朝向是确定物体表面上一点光强的主要因素,并 用l a m b e r t 漫反射定律计算物体表面上各多边形的光强,对光照射不到的地方,用环境 光代替。1 9 7 1 年,g o u r a u d 在i e e et r a n s c o m p u t e r s 上发表论文,提出漫反射模型加 插值的思想。对多面体模型,用漫反射模型计算多边形顶点的光亮度,再用增量法插值 计算多边形的其他内部点。1 9 7 5 年,p h o n g 在c o m m a c m 上发表论文,提出图形学中第 一个有影响的光照明模型p h o n g 光照模型。p h o n g 模型虽然只是一个经验模型,但 其真实度已经达到较好的显示效果。 现实世界中,物体所表现出来的所有颜色都是光能作用的结果。当光线照射到物体 的表面上,一部分光能被吸收转化为热能,而其余的部分就被反射和透射。正是因为这 部分反射或者透射的光线被眼睛吸收后,才能感觉到物体的存在以及其特有的形状和色 彩。为了方便计算,需要定量的描述光线的多少或者强弱,而亮度和强度就是用来定量 描述光的两个基本概念。物体的表面亮度就是表示其单位投影见面在单位立体角内发出 的光的能量,它是物体表面上的小面元所具有的属性。然后利用电光源强度来代替强度, 这个强度就是指在单位立体角内发出的光能。同样大小的小面元照射面距离光源越远, 那么它所能接收到的光能就越少。 光在空气中的传播遵从光反射定律和折射的定律,那么光源和被照物体所表现的颜 色和位置上的关系就可以通过光照模型来进行模拟。光照模型的作用是用来计算物体上 5 贵州师范大学硕士研究生学位论文 的每个点的颜色与光源的关系。因此,它是决定一个图像是否逼真的重要因素。人通过 眼睛来接收物体所表现的颜色、形状、数目、以及位置和光谱组成等一些数据,也和物 体本身对于光的反射性和光所照射的物体的表面的朝向有关,甚至有时还和人眼对光线 的省里和心里视觉因素有关。妄图把这一切因素和条件都通过数据的形式都通过计算来 精确的模拟实现是不现实的,尤其是在游戏中,必须保证数据量的尽可能少,所以只能 尽量的精确的模拟光照模型或者尽量减少实验的数据来实现模拟光和物体的相互作用, 并近似计算以或得物体可见面上每一个点的亮度和颜色。 要了解和实现一个光照效果的模拟,必须要先了解光照明计算,同事也要搞清颜色 合成和生成的一些因素。首先,的模拟场景中必要有一个发光体,也即是平时想说的点 光源。而这个点光源也必须要有个一些属性,比如形状、色彩、位置以及光照强度,而 色彩和强度的乘积便是所生成的点光源的颜色。所生成的场景中,由于场景中不是真空 的环境,那么光在空气中传播由于空气中的一些气体杂志对于光线具有一定的吸收作 用,那么必然会对光线具有吸收作用,也就同时造成了光线能量的流失,使得光线发生 了衰减。同样对于生成的场景中,所建立起来的几何体模型来说,这些模型也是应该可 以反射光线的。 1 2 纹理映射技术 现实世界中的物体,其表面有各种细节。引入纹理的概念,以增强各类光照明模型 生成的图像的真实感。从本质上说,纹理是物体表面的细小结构,它可以是光滑表面的 花纹、图案,这些都是颜色纹理,这时的纹理一般都是二维图像纹理,当然也有三维纹 理。纹理还可以是粗糙的表面( 如橘子表面的皱纹) ,它们被称为几何纹理,是基于物 体表面的微观几何形状的表面纹理。一种最常用的几何纹理就是对物体表面的法向进行 微小扰动来表现物体表面的细节。 在当前的真实感图形学中,需要绘制的三维场景的复杂度都非常高,一个复杂的场 景可能会包含几十甚至几百万个多边形,要实现对这种复杂场景的实时真实感图形绘制 是很困难的。一种自然的想法就是通过减少场景的复杂度,来提高图像绘制的速度。层 次细节显示和简化技术就是在这种背景下提出来的。当场景中许多面片在屏幕上的投影 6 贵州师范大学硕士研究生学位论文 小于一个象素,可以合并这些可见面而不损失画面的视觉效果。层次细节技术最初是为 简化采样密集的多面体网格物体,而设计的一种算法这些复杂的多面体网格往往通过 激光扫描测距系统扫描真实三维物体而得到为真实反映原物体的表面变化,扫描过程 中所采取的采样点非常稠密,这为三维场景的存储传输及绘制带来极大的困难。为此 人们开始研究复杂多面体网格的简化。层次细节显示简化技术就是在不影响画面视觉效 果的条件下,通过逐次简化景物的表面细节来减少场景的几何复杂性,从而提高绘制算 法的效率。 简单的说,物体表面的纹理特征,也就是物体的外部图像附着与物体的表面上。比 如绘制一面砖墙,就可以使用一幅具有真实感的图像或者照片作为纹理贴到一个矩 形上,这样,一面逼真的砖墙就画好了。如果不用纹理映射的方法,这墙上的每一 块砖都要作为一个独立的多边形来绘制。另外,纹理映射能够保证在变换多边形时, 多边形上的纹理也会随之变化。例如,用透视投影模式观察墙面时,离视点远的墙 壁的砖块的尺寸就会缩小,而离视点近的就会大些,这些是符合视觉规律的。由于 纹理映射就想是将某一张图片贴到物体的表上相似,因此,纹理映射也可以简单直 观的称为贴图。 在纹理映射的过程中,物体和图像是纹理映射的两个操作对象,映射函数建立 物体和图像的逐点对应关系,而纹理映射的基本功能则是根据映射函数将物体上每 个点找到图像上对应点,并将对应点的颜色值赋给物体上的点。简单的一维纹理可 以用来模拟等高线或轮廓线;二维纹理最为常用,其坐标一般用( u ,v ) 表示;三维 纹理坐标( u ,、,w ) 既可以体现纹理,也可以用第3 个分量表示沿投射方向的深度。 四维纹理坐标( s ,t ,r ,q ) 中的第4 个分量与齐次坐标的第4 个分量的功能类似, 可以用来模拟锥光源效果。在一个物体上实现多个纹理映射,可以对每个顶点赋予 多套纹理坐标。 1 纹理映射的基本步骤 纹理映射可分为5 个步骤。首先,物体上的某个点是纹理映射的起点。一般来 讲,这个点定义在物体局部空间,使得当物体方位改变时,纹理相应发生改变。由 于纹理是一个规则的图像,因此,从不规则的三维物体空间变换到纹理所在的规一 7 贵州师范大学硕士研究生学位论文 化空间需要一个映射,这个映射称为参数化,它是纹理映射的第二个步骤。例如二 维纹理的规一化空间是 1 ,o ) 1 ,0 ) ,纹理上任意一点在规一化空间中的坐 标就叫纹理坐标。随后,从参数化空间变换到图像对应点的位置,并取出对应点的 颜色值。第四个步骤是可选的,即取出的值可能会经过某些变换计算。最后是将取 出的值根据给定的纹理融合函数,修改曲面的颜色属性。下面将详细描述纹理映射 技术在游戏编程中需要注意的原理性知识。 2 纹理映射函数生成 纹理映射的区域通常是三维空间的平面或曲面,计算任意空间曲面与纹理域的 对应关系本质上是一个参数化的过程。纹理映射函数的选取,或者说物体表面纹理 坐标的生成,是纹理映射的一个最基本的问题。如果选择了不好的纹理映射函数, 纹理在物体表面上会出现扭曲、变形的效果。从数学的角度看,良好的映射函数通 常是保角映射或保面积映射。 ( 1 ) 平面 平面情形相对简单,可将其旋转至与某个坐标平面重合,于是与图像域的对应 关系变得相当简单。 ( 2 ) 数学曲面 对于具有数学表达式的曲面,可以直接选取映射函数。在3 d sm a x 等造型软件 中,常用的映射函数有球面映射、圆柱映射、平面映射、立方体等,分别对应某个 参数化方法。 ( 3 ) 利用物体表面属性 物体表面的法向、参数曲面自身参数、视线方向等任何与物体表面有关的属性 都可以用来计算物体的纹理坐标。 1 3 三维游戏中的特殊技术 1 碰撞检测 图像的边缘是图像的基本特征,边缘检测是底层图像处理的中心任务之一。边缘点 指的是那些有高灰度值梯度的点,即在某局部邻域中具有高灰度值差异的点。游戏的效 8 贵州师范大学硕士研究生学位论文 果必须在一定程度上符合客观世界的物理规模,如地心引力、加速度、摩擦力、惯性、 碰撞检测等。当然,基于物理的游戏效果不需要完全遵循真实的物理规律,例如,在 q u a k ei i 里,可以忽视摩擦力,将速度从0 立刻加到1 0 0 ,这样能获得夸张的效果。碰 撞检测是游戏引擎中不可回避的问题之一,只要场景中的物体在移动,就必须判断,是 否与其他物体相接触。碰撞检测的基本任务是确定两个或多个物体彼此之间是否有接触 或穿透,并给出相交部分的信息( 如相交部分的面片号、物体穿刺的深度等) 。碰撞检 测之所以重要,是因为在现实世界中,两个或多个物体不可能同时占有同一空间区域。 如果物体之间发生了穿刺,用户会感觉到不真实,从而影响游戏的沉浸度。例如,在二 维半角色扮演类游戏中,人物角色在房间中不能像崂山道士一样穿墙而过,而只能从预 设的门出入。对于这类碰撞检测问题,解决办法是在遮挡物体( 如墙壁) 对应的图像区 域设置掩码,处理人物活动时判断当前所在区域的掩码。由于碰撞检测的基本问题是物 体的求交,直观的算法是两两检测场景物体之间的位置关系。对于复杂的三维游戏场景, 显然复杂度为0 ( n n ) 的检测算法无法满足游戏实时性的要求。如果运动的物体位于一 个房间中,那么只需要检查房间中的物体是否与它相交。设计健壮高效的碰撞检测算法 是游戏编程中的难点,目前多数基于物体空间的碰撞检测算法的效率与场景中物体的复 杂度成反比关系。尽管有关碰撞检测的成果已经比较丰富,但游戏场景中常常有成百上 千万的面片,甚至包含数据量大到内存都无法容纳的物体。在这种场景中进行碰撞检测, 对碰撞检测算法就提出了更高的要求。针对游戏的大规模三维场景的碰撞检测是游戏编 程中极富挑战性的话题。 常用的碰撞检测方法大体可分为两类:一类是基于物体空间的碰撞检测算法:另一 类是基于图像空间的碰撞检测算法。它们主要区别在于,是利用场景物体的三维几何进 行求交计算还是利用场景物体在屏幕上的二维投影和深度信息来进行相交分析。在游戏 引擎中,通常可结合这两类方法以获得最高的效率。 2 阴影处理 在对计算机游戏中的图形优化处理的时候,阴影的模拟是一个非常重要的部分。阴 影是指场景中那些没有没光源直接照射到的区域。当观察者的观察防线隔阂光源的方向 9 贵州师范大学硕十研究生学位论文 重合的时候,观察者便无法看到任何阴影了。但是当两者不一致的时候,就会产生阴影。 阴影可以衬托出点光源和景物的远近和相对方位,并且可以增强图形的立体感和场景层 次感,从而能极大的增强画面的真实感。将点光源设为视点,这样物体的不可见面就是 阴影区域,同时利用隐藏面消除算法就可以把可见面与不可见面却别开来。在3 d 游戏 的场景中,通过点光源和物体之间的距离和角度的变化,以实现物体阴影的变化。是增 加场景真实感的一种非常重要的手段。阴影能够对场景中的物体的遮挡个关系进行诠 释,产生阴影的物体叫做遮挡体,表面不被光源照射的物体为被遮挡体。 本课题便是以上述的数字图像处理技术作为理论的依托,然后根据游戏开发中的特 定性,对课题中的系统进行进行开发和设计。 1 0 贵州师范大学硕士研究生学位论文 第二章系统总体设计 2 1 系统概述 在对目前流行游戏软件的调研中发现,视觉效果极佳的游戏,游戏的生命较强。视 觉效果直接反映到真实感图像处理的质量,本课题采用v c + + 6 0 作为开发平台和开发 语言,同时还引入了d i r e c t x 9 0 ,p l a t f o r m ,以及o p e n g l 中的一些函数来进行开发的, 软件系统架构如下( 图2 1 ) : 围 早匦圆圆 ( 图2 1 ) 本游戏实现的是第一人称视角的游戏,通过对于场景的组织和管理,可以获得一个 游戏的模拟场景,玩家可以在场景中通过鼠标和键盘来操作角色在场景中进行高速流畅 的漫游。并且可以对视角进行绕x 轴和y 轴的转动,然后还可以通过键盘控制角色蹲下 和跳起同时视角也会跟随角色的蹲下和跳起进行起伏运动。并且还可以使用鼠标进行点 击,通过引入的音频发出枪声,感觉比较逼真。 同时玩家还可以同时角色,在墙壁的边缘行走,但是无法穿过墙壁,也可以通过蹦 跳,跳到场景中的箱子上站立。对于实现阴影和明亮度的d 锄o ,也是可以通过键盘来 贵州师范大学硕士研究生学位论文 实现电光源,以及场景内几何体的移动,随着光源和物体的角度距离的不同以及光线的 衰减等原因,呈现出颇具真实感的明暗效果以及阴影效果。 2 2 系统各模块功能 下面的就对系统中各个模块的功能进行介绍: 1 场景组织管理部分 所谓的场景组织管理就是,在实时绘制的前提下,控制每一帧画面绘制的多边形数 目、检查游戏中的物理特征以及管理网络的吞吐量等等,对于游戏中的场景进行组织搭 配,实现一个游戏中所需要场景环境,来建立一个游戏所需要的场景空间。 ( 1 ) 场景地图的绘制:在文件中设置地图场景的采样点,然后通过程序,将这些 点提取出来,组成游戏所需要的场景,并且根据场景中的组织结构,对场景中的物体进 行节点化操作,并生成四叉树的结构。完成更新时只更新所需要更新的节点以其其子节 点,删除的时候只需要删除需要删除的那个节点( 其子节点自动被删除) 即可。 ( 2 ) 地图漫游:通过4 d 坐标转换以及齐次坐标平移的算法,得到所直接可用的三 维坐标。获得场景中的物体的运动规律,通过对不同节点区域内的点,与其子节点区域 内的点实现相互转化。实现3 d 场景中的地图漫游,对场景中布置好的地方,例如道路 等,可以实现自由的行走。 ( 3 ) 摄像机:实现场景中的第一角色的视角图像采集,实现上、下、左、右的视 角变换。并且根据场景中的视角的情况,对视野中的图像的可见性进行判断,采用平截 头体进行便初步判断,然后用四叉树结合边缘检测的方式,对平截头体剔除的多余部分 进行优化,以达到减少计算量的目的。 2 图像真实感处理部分 在实现游戏图像真实感处理中,本软件采用了纹理映射、边缘检测和明暗处理。 ( 1 ) 纹理映射:在游戏场景中,通过文件提取其纹理值,然后对场景中的墙面, 地面,以及箱子等物体进行点对点的纹理映射,已实现场景中的真实感,华丽感,避免 单一色调给游戏带来的乏味和压抑感,营造视觉吸引力。 1 2 贵州师范大学硕士研究生学位论文 ( 2 ) 边缘检测部分:对于现实中的世界,例如墙壁和箱子,自然是无法通过的部 分,在这个模块中所要实现的功能就是模式于现实世界中无法通过的地方,在的场景中, 采用立方体在空间3 平面内映射的方法,将人物角色设置为运动立方体,将场景中的物 体分为多个静止的立方体,然后根据运动立方体的移动,求出其空间3 平面投影中心与 静止立方体投影中心的距离,来判别是否已经进行了边缘碰撞。如果已经达到了边缘碰 撞的条件,那么运动立方体便无法相这个方向前进。阴影处理部分:本课题中,原欲将 游戏的场景中引入电光源进行整个场景中的阴影图像的生成,但是由于程序调试的原 因,没有能够完美的加入游戏场景中,因此,暂做个独立的d e m o 来实现场景中的阴影 的效果。首先在一个较小的场景中生成一个点光源模拟光线效果,同时要对电光源的光 线效果进行衰减处理,以实现现实世界中光源衰减变弱的真实感状态,然后生成几何体。 然后根据电光源的和几何体边缘的连线进行处理,然后在将延长线延长到场景的平面 上,对于边缘所形成的闭合的区域,进行阴影绘制,并且由于光线的衰减以及光源体和 几何体位置角度的关系,产生不同的阴影效果。由于生成的阴影会因为距离的原因,当 呈像在场景平面的时候,像素会被放大,这样就会形成阴影区域的锐化,采用平均差分 法,将4 个临近的点的深度进行取值,然后通过插值运算,实现在呈像后,得到4 个点 中点的那个点对位显示器上的阴影深度。这样便能有效的抑制和减轻阴影的锐化效果。 ( 3 ) 明暗处理部分:通过对光照效果的分析,引入简单光照模型所得到的环境光 与漫反射的理论基础,将n 法相方向单位向量和l 入射光方向单位向量通过光栅转换器 的方法,将其转化为r g b 的色彩值,然后通过这个色彩值可以获得物体表面小面片的光 照强度和颜色;但是当观察者距离物体比较远的时候,那么多面体上所呈现出来的光的 强度和色彩就不连续变化了,为了避免这一现象的发生,引入了双差值算法,来使得相 邻点的光强度产生连续的变化。 3 人机交互界面 对于游戏来说,玩家能对游戏操控方面的主要途径就是鼠标和键盘,因此,当玩 家使用鼠标键盘进行游戏操作的时候,人机交互的好坏,直接影响到玩家的第一角色 真实感情绪,因此本课题便需要将鼠标和键盘的响应列入其中,在游戏场景中实现人 1 3 贵州师范大学硕十研究生学位论文 物的移动,控制人物蹲起,跳跃等一系列的动作,同时在阴影的d e m o 中也是利用鼠标 和键盘的响应来实现场景中点光源和物体的移动,来实现阴影真实感效果的实现。 1 4 贵州师范人学硕士研究生学位论文 第三章系统设计与实现 3 1 场景组织管理的详细设计与实现 所谓的场景组织管理就是,在实时绘制的前提下,控制每帧画面绘制的多边形数目、 检查游戏中的物理特征以及管理网络的吞吐量等等。在一个3 d 游戏中需要对整个游戏 场景进行观察,这是一个很大的空间,这个空间可能会由多个物体组成,每个物体都是 由三角形组成,那么整个场景便会由成百上千个万个三角形组成。面对这样大的数据处 理量,如果没有一个优秀的场景优化管理,那么游戏的实时性根本就保证,那么游戏的 流畅度也根本无从谈起。 1 场景图的生成 所谓的场景图就是将场景中的各个数据以图的形式组织在一起的场景数据管理方 式,它是一个树状结构,根节点是整个场景,树中的每一个节点可以有任意多个子节点, 每个节点存储有场景集成的数据结构,包括集合物体、光源、相机、声音、物体包围盒、 变换和其他属性。 ( 1 ) 场景内物体的运动规律 可以用矩阵运算的方式来表现出场景内物体的运动规律,在三维空间中的旋转,缩 放等线性的坐标变换是采用一个3 * 3 的矩阵形式来表示的,但是这种变换必须先进行4 d 的坐标平移变换,然后在采用齐次坐标的变换后,才能得所需要的三维坐标。 7 公式:m = t r s 1 0 1 其中: 厂1 t= 10 l 三 向量( i 。,i ,i 。) 表示进行平移的时候,所移动的方向和距离 u ,v ,w 用来表示旋转时所得到的角度 t 中的三个系数则用来表示当向量进行缩放的时候三个方向上的系数 1 5 、,j o o l 0 o ) o o 也0 o t 0 o o o 0 0 l ,。l i i s 、一、 o o o 1 毗 町毗0 i y z v v v 0 i , z u u u o ,。l = d n 贵州师范大学硕十研究生学位论文 在本课题中,将场景进行节点结构处理,而在场景中任意点的关系,便是通过他们 之间的矩阵变换来实现;首先建立了一个本地坐标系统,那么当取这个坐标系中的两个 节点a ,b ( 其中a 为父节点,b 为其子节点) 后,如果要将a 的坐标系中的点变换到b 坐标系中,那么所需要做的只是利用上面的变换矩阵m ,然后使得 v a = m 木v b ( v a ,v b 表示b 节点中的某一个点在a 坐标系和b 坐标系中的坐标向量) 。然后采用 迭代的方式,对整个树结构场景中的父子节点进行遍历处理。 ( 2 ) 构造场景节点树 在场景组织的过程中,采用节点结构的好处有如下两点: a 根据游戏,对需要更新的部分进行更新。更新的只是场景的一部分的,不需要从 根节点进行遍历,只是更新某个节点,其父节点的状态会影响所有子节点的状态,这样 做就可以达到更新的目的,对于没有变化的部分便不需要进行更新,这便是所谓节点包 围盒由上向下的扩散,这样做可以减少数据运算量,优化游戏速度。 b 场景图的剔除和绘制的过程。对于树中的每一个节点,首先将不可见的部分剔除, 然后保存上一个节点的绘制状态,等待该节点和它的子节点绘制完成后,在恢复上一节 点的绘制状态。 为了进一步的对场景组织管理进行优化,对场景中的节点树的结构进行选择,本课 题所采用的是四叉树,因为本场景相对复杂度比较低,并且内部基本上都是有矩形体组 成,并且当进行场景漫游的时候,由于墙壁的遮挡关系的原因,需要对某个子节点的不 可见区域,以及它的后继节点进行剔除,而这个正是四叉树的优点所在。 在本课题的场景中,可以将其转化为二维的场景,虽然在的场景中存在着各个不同 点的高度,但是当这个高度远远小于地形范围的时候,就可以将这些地形进行参数化也 即是将其转化为二维的空间网格。在建立四叉树的过程中,首先用一个四边形包围整个 场景,然后以这个四边形为根节点,对场景中的区域进行迭代,如果子节点中包含多个 物体,那么就继续对其进行划分,一直到子节点中的物体的个数小于设定的阈值。下面 的图例便是对于四叉树的划分过程( 图3 1 ) n 引: 1 6 贵州师范大学硕士研究生学位论文 通过四叉树处理后,当进行场景漫游的时候,如果在视角中的某个子节点不再可见 区域内,那么这个节点以及这个节点后面的所有后继结点都会被删除,只需要对那些可 见的节点进行处理就可以了。而当场景中的物体进行相对移动的时候,那么就需要更新 场景中物体相关的四叉树的子节点。这样便能快速的判断可见区域以及排除不可见区 域。 2 摄像机 所谓的摄像机就是在游戏中,需要给玩家一个第一视角,例如反恐精英中的模 拟真人在场景中的视角,呈现在玩家面前的也就是一块场景区域。当然,并不能看到整 个场景中的所有物体,由于视线的方向性以及一些局限性,物体和物体之间可能存在一 定的遮挡关系,看到的也就是整个场景的一个小小的部分,那么就需要只获取这一部分 的场景,而不需要获得所有区域内物体的信息,这样就需要剔除场景中被遮挡的部分, 而这种技术也就是消隐技术。谈到消隐技术,那么就不能不涉及到可见性判断,可见性 1 7 贵州师范大学硕十研究生学位论文 判断是在复杂场景中漫游的一个至关重要的部分,它能减少被会绘制的多边形的他数 目,这样的话也就大大的减少了图像数据处理的数据量,节省了图形硬件和c p u 花费在 不可见多边形上的变换、求交等处理上所消耗的时间,大大的提高了游戏的流畅度。 ( 1 ) 摄像机的移动与旋转 首先应当实现摄像机的移动,确定摄像机的坐标。那么就需要设置摄像机的矩阵, 应该输入一下三个参数:摄像机所在位置,摄像机朝向的目标点,和摄像机上方的朝 向。然后以运算得到的轴为中心实现前进,前进就是朝着摄像机轴对应的向量方向移动 摄像机。然后就可以根据摄像机移动的方向和向量进行变换摄像机的取景区域。 在本课题中当进行平移、旋转或者缩放的时候,通过先进行缩放、旋转然后再平移 的顺序,这样可以节省运算的时间;主要的原因是,当进行旋转和缩放的时候,影响两 个矩阵的部分就是左上角的3 度区域,而主要的变化系数就是对角线上的值,因此,当 r s 的时候,运算量比价小,然后在将所得的最后一列的值设置为( i 。,i ,i :,1 ) , 因此,再对场景中的节点进行变换的时候,只需要改变这个矩阵就可以了,然后将新的 矩阵进行更新,便可以得到最后所需要的矩阵 然后通过对于摄像机的设置后,便根据上面的理论,对摄像机的移动进行函数的编 写: m v p o s i t i o n x + 爿nv v i e w v e c t o r x 幸f s p e e d ; m v p o s i t i o n z + - - m _ v v i e w v e c t o r z 幸f s p e e d ; m v v i e w a t x + - - m _ v v i e w v e c t o r x 牛f s p e e d ; m v v i e w a t z + - - m _ v v i e w v e c t o r z 木f s p e e d ; 其次,还需要做的就是关于摄像机旋转方面的处理,事实上,摄像机操作的核心内 容就是如何很好的实现旋转处理。在x ,y ,z 轴中,不能进行z 轴旋转的处理,这是因 为一般性的f p s ( 第一人称射击游戏) 类游戏一般不能进行z 轴旋转,也就是说,不能 实现类似人歪脖子之类的视角变换( 图3 2 ) 。 因此,设定一个f p s 的转动规则程序 m n l e f l = x ; mn t o p - - y ; 1 8 贵州师范大学硕士研究生学位论文 m _ d w c o o r ; m _ d w s t a r t t i m e = t i m e g e t t i m e 0 ; 对于y 轴旋转而言,将向量轴与y 轴旋转矩阵相乘,然后加上原来视角的值,得到 的就是新的视角顶点,然后生成新的摄像机所在位置,摄像机朝向的目标点,和摄像机 上方的朝向,来诱导得到摄像机矩阵。 下面的代码就是本课题中实现摄像机旋转的代码 i f ( m o u s ex 3 2 0 ) h e a d i n g = ( f l o a t ) s i n ( ( ( m o u s e _ x - 3 2 0 ) 1 ) 宰p i o v e r l8 0 ) 奉8 o f ; y r o t = h e a d i n g ; ) i f ( m o u s e _ y 2 4 2 ) l o o k u p d o w
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 六源概念培训课件
- 六星级心态培训课件
- 医院感染与消毒灭菌技术
- 神经调节的基本方式宣讲培训课件
- 早教培训教学课件
- 高中三年级地理《人口增长的模式及地区分布》
- 简约经典培训
- 2026年汽车能耗管理培训
- 2026年零售门店服务标准培训
- 2026年跨境电商物流培训
- 2026年湖南师大附中双语实验学校(南校区)教师招聘备考题库完整参考答案详解
- 2026年广州市黄埔区穗东街招考编外服务人员易考易错模拟试题(共500题)试卷后附参考答案
- 黑龙江高职单招语文试题附答案
- 高低压配电安装工程施工方案方案
- 中华人民共和国危险化学品安全法解读
- 2026年中国烟草专业知识考试题含答案
- 2026年度内蒙古自治区行政执法人员专场招收备考题库完整答案详解
- 2026云南新华书店集团限公司公开招聘34人易考易错模拟试题(共500题)试卷后附参考答案
- 安全保密管理专题培训课件
- GB/T 17587.2-2025滚珠丝杠副第2部分:公称直径、公称导程、螺母尺寸和安装螺栓公制系列
- 锅炉应急预案演练(3篇)
评论
0/150
提交评论