已阅读5页,还剩61页未读, 继续免费阅读
(计算机软件与理论专业论文)手机三维游戏引擎研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 手机游戏市场的需求淅渐从2 d 过渡到3 d ,但是由于占市场大份额的中低档手机处理 器性能的限制,目前很少有能在中低档手机运行的3 d 游戏,因此在这些手机上研究并开发 3 d 引擎将具有广阔的市场 嵌入式3 d 游戏引擎就是处理运行在嵌入式设备上的3 d 游戏的底层技术平台,它为游 戏开发者提供了一套核心的、可复用的代码和系列工具。目前,3 d 游戏通常运行的嵌入式 设备主要包括:高性能手机、高端p d a ( p e r s o n a ld i g i t a l a s s i s t a n t ) 、g a m e b o y 等。 嵌入式3 d 游戏引擎技术的出现是嵌入式3 d 游戏程序设计发展的里程碑之一,它也是 软件工程、专业化分工和游戏产品的独特文化性要求在游戏开发中的综合体现。游戏引擎是 软件工程中的软件复用思想在游戏开发中的表现形式之一它把游戏中最常见、最核心的功 能进行集成,形成通用的框架平台。这样,在进行具体的游戏产品开发时,游戏编程人员就 不需要从头做起,而是可以直接调用游戏引擎提供的强大功能,在短时间内高质量地开发出 新游戏,适应游戏产业的激烈市场竞争。游戏引擎也促使游戏编程人员进行更为专业化的分 工。游戏往往受限于硬件性能,尤其是运行在嵌入式设备上的3 d 游戏,因此游戏往往要追 求高效率和高性能,这对游戏开发人员提出了很高的要求。这种高要求产生了更专业的分工, 一部分高水平的开发人员从事性能要求很高的游戏引擎的开发,而一般水平的开发人员则利 用引擎进行具体游戏产品的开发。游戏产品的核心特点是创意和可玩性。这就使得游戏的开 发要变得比较容易和简单,使得不懂编程的游戏创作人员也能快速的实现他们的创意。这也 是促进游戏引擎发展的一个方面。 本文较全面地介绍了3 d 游戏引擎的主要内容和基础理论,而研究的重点是放在游戏引 擎的核心部分室外图形渲染引擎和碰撞检测。实现了一个简单的手机3 d 游戏引擎。 关键词:游戏引擎;渲染;碰撞检测;j 2 m e ;手机游戏 a b s t r a c t w i t hm o b i l ep h o n et e c h n o l o g yp r o g r e s s i n ga ta l li n a 司i b l ep a , m o b i l eg a m ep r e v a i l si n t h ee n t e r t a i n m e n tm a r k e t m o b i l eg a m e se v o l v ef r o ms i m p l eg r a p h i c a lg a m e 8t oc o m p l o 【 g r a p h i c s - i n w n s i v e3 dg 锄h o w e v e rb e c a u s eo fl o wc o m p u t i n gp o w e r ,f e w3 dg a i n e sh a s b e a nd e v e l o p e df o rm o b i l ep h o n eo f l o wp e r f o n n a a c 宅d e v e l o p i n ga3 dr e n d e r i n ga n g i n ef o rm 嚣e p l a t f o r m sw i l lm a k eg r e a tb e n e f i t s e m b e d d e d3 dg a l n oa n # h ei sas o r to fl o w e rl a y e rt e c h n o l o g yp l a t f o r m ,w h i c hi 。d e v i s e d f o r3 dg a m eo f r u n n i n go ne m b e d d e dd e v i c e s i tp r o v i d e sg a l n ed e v e l o p e rw i t har e u s a b l ek e r n e l o f c o d ea n das e r i e so f t o o l s a tp r e s e n t ,e m b e d d e dd e v i c e so f r u n n i n g3 dg a m em a i n l yi n c l u d e : h i g h - p o w e r e d m o b i l e ,a d v a n c e d p d a ( p e r s o n a l d i g i t a l a s s i s t a n t ) a n d g a m e b o y e t c t h ee m e r g e n c eo fe m b e d d e d3 dg a m ee n g i n et e c h n o l o g yi so n eo f3 dg a m ep r o g r a m m i n g d e v e l o p m e n tm i l e s t o n e s i ta l s os y n t h e t i c a l l ys h o w st h es o f t w a r ee n g i n e e r i n g ,t h es p e c i a l i z a d o n d i v i d e s t h e w o r k , g a m e u n i q u e c u l t u r e r e q u e s t t h e g a f f e a n g i n e i s o n e o f e x p r e s s i o n a l f o r m a t o f s o f t w a r er e u s a b l et h o u g h tf r o ms o f t w a r ee n g i n e e r i n gt h e o r yi ng a m ed e v e l o p m a n li ti n t e g r a t e st h e m o s tc o m m o na n dt h em o s ti m p o r t a n tf u n c t i o nt of o r mt h ec o l o nf r a m ep l a t f o r m t h u s w h e n c a r r i e so nt h ec o n c r e t eg a m ep r o d u c td e v e l o p m e n t ,t h eg a m ep r o g r a m m e rd o e sn o tn e e dt os 锄 o v e rf r o mt h eb e g i n n i n g ,b u td i r e c t l yt r a n s f e r st h ep o w e r f u lf u n c t i o nw h i c ht h eg a m ea n g m e p r o v i d e sa n dp r o d u c e sh i g hq u a l i t yn e wg a m e si nt h es h o r tt i m ei no r d e rt oa d a p ti n t e n s em a r k e t c o m p e t i t i o ni ng a m ei n d u s r y t h eg a m ee n g i n ea l s ou r g e st h eg 锄ep r o g r a m m e r st oc a l t yo n m o r es p e c i a l i z e dt h ed i v i s i o no f l a b o r 1 h eg a m eo f t e ni sr e s t r i c t e di nt h eh a r d w a r ep e r 】f b r i n c c , e s p e c i a l l yt h ee m b e d d e d3 dg a m e ,t h e r e f o r eg a m eo f t e nm u s tp u r s u et h eh i g he f f i c i e n c ya n dt h e l l i g hp e r f o m 啪c e ,t h i sp r e s e n tv e r yh i g hr e q u e s tt ot h eg a m ed e v e l o p m e n tp e r s o n n e l t h i sk i n d o fh i g hr e q u e s tb r i n g sam o r es p e c i a l i z e dd i v i s i o no fl a b o r ,p a r to fh i g hl e v e l sd e v e l o p m e n t p e r s o n n e la r ee n g a g e di ng a m ee n g i n ed e v e l o p m e n tt h a tn e e dv e r yh i g hp e r f o r m a n c e ,b u tt h e g e n e r a ll e v e ld e v e l o p m e n tp e r s o n n e lc a r r i n so nt h ed e v e l o p m e n to fc o n c r e t eg a m ep r o d u c tb y u s i n gt h ee n g i n e t h eg a m ep r o d u c tc o r ec h a r a c t e r i s t i ci st h ec r e a t i v i t ya n dg a m ep l a y a b l e t h i s n e c d st h eg a m et h ed e v e l o p m e n tt ob ee a s ya n ds i m p l e , e v e ni f g a m ef i c f i o n i s t sw h od o n tk n o w p r o g r a m m i n gc f l e e t l yr e a l i z et h d re r e a t i v i f i e s t h i sa l s oi sa na s p e c to f p r o m o t i o ng a m ee n g i n e d e v e l o p m e n t t h i sa r t i c l eq u i t ec o m p r e h e n s i v e l yi n t r o d u c e st h eg a m ee n g i n em a i nc o n t e n ta n dt h eb a s i c t h e o r y ,b u ts t r e s s e st h eg a m ee n g i n eo o r ep a r t - r e n d e ra n g l ea n dc o l l i s i o nd e t e c t i o n t h i sa r t i c l e r e a l i z e das i m p l e3 dm o b i l eg a m ee n g i n eb yj 2 m e k e y w o r d s :g a m ee n g i n e ;r e a d e r ;c o l l i s i o nd e t e c t i o n ;j 2 m e ;m o b i l eg a m e l 学位论文独创性声明: 本人所呈交的学位论文是我个人在导师指导下进行的研究工作 及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方 外,论文中不包含其他人已经发表或撰写过的研究成果。与我一同工 作的同事对本研究所做的任何贡献均已在论文中作了明确的说明并 表示了谢意。如不实,本人负全部责任。 论文作者( 签名) : 学位论文使用授权说明 2 0 0 6 年6 月1 日 河海大学、中国科学技术信息研究所、国家图书馆、中国学术期 刊( 光盘版) 电子杂志社有权保留本人所送交学位论文的复印件或电 子文档,可以采用影印、缩印或其他复制手段保存论文。本人电子文 档的内容和纸质论文的内容相一致。除在保密期内的保密论文外,允 许论文被查阅和借阅。论文全部或部分内容的公布( 包括刊登) 授权河 海大学研究生院办理。 论文作者( 签名) :2 0 0 6 年6 月1 日 第一章绪论 第一章绪论 1 1 研究背景 随着移动技术的快速发展,手机3 d 游戏应用在近几年成为了业界关注的热 点,并已经逐步具备了与专业游戏设备相媲美的画面质量而对这一市场机遇, 越来越多的游戏开发商和发行商也加入到了手机3 d 游戏的队伍中,对于专业的 手机3 d 引擎提供商们来说,更是找到了下一个金矿。据i r e s e 融【l 】艾瑞市场咨 询的统计数据显示,全球手机游戏市场用户规模将从2 0 0 5 年的2 9 亿增至2 0 0 8 年的1 0 3 亿,市场收入将从2 0 0 5 年的1 0 2 亿美元增加到2 0 0 8 年的5 2 0 亿美元。 而在中国,据信息产业部发布的最新统计显示,中国的手机用户超过4 亿户,正 是这一庞大的用户推动了手机3 d 的应用和发展。 目前,全球3 g 市场的领先手机厂商正在提供越来越多的以硬件加速3 d 图 形功能为特色的手机,六大领先制造商已经在一些终端设备上提供了带有真正 3 d 功能的应用软件,例如游戏、用户界面、导航服务和动画真人秀。全球最具 影响力的游戏开发商纷纷推广新一代面向3 g 手机的3 d 多媒体应用。运营商也 意识到这是大势所趋,日本领先运营商k d d i 的“a u ”业务部与产品策划部总裁 高级助理m a s a h i r o i n o u e 说:“下一代手机也将提供从先进的移动游戏到3 d 用户 界面的服务,在手机上提供高质量的3 d 体验正变得越来越重要。” 手机3 d 图形显示技术的突飞猛进是造就手机3 d 游戏市场乐观前景的重要 因素。通过来自多个领域厂商的共同努力,目前能运用于手机的多媒体加速及 3 d 图形处理性能已取得了显著进展。在p c 绘图芯片市场激烈竞争的a t i 与 n v i d i a 公司纷纷拓宽市场,推出了手持装置专用的媒体处理器及3 d 加速芯片。 看起来,手机3 d 游戏的“专业化”趋势与当年拍照手机的发展历程颇为相似 仅仅两三年前,1 0 0 万象素还是低端数码相机的入门标志;而现在,几百万像素 的拍照手机可谓比比皆是,拍照功能不再是手机的鸡肋。与此类似,手机3 d 显 示性能的增强将推动手机3 d 游戏的普及,也将在未来改变手持游戏玩家的消费 习惯。 随着技术的不断成熟,想要在手机3 d 游戏市场上有所作为的厂商开始了多 个层次的合作,以期取长补短。这是一个全新的领域,从游戏功能到操作感觉、 从支撑软件到游戏内容,都需要产业链各环节的紧密合作,形成一个完善的产业 链至关重要。游戏内容是未来手机3 d 游戏市场健康发展的关键,众多的游戏开 发商和发行商也在积极寻求与底层技术厂商的合作,在技术上推陈出新并合作推 广炫目的移动3 d 游戏。随着移动价值链上所有环节的领先厂商进一步加深彼此 手机三维游戏引擎的研究与实现河海大学硕士学位论文 之间的合作,3 d 游戏必将获得更快的发展。 不过,手机毕竟不是专门为游戏玩家开发专业的掌上游戏机,手机3 d 游戏 曾经面临一系列技术挑战。例如,单独手机3 d 图形芯片不可避免的体积、发热、 能耗等问题;手机显示屏像素小而在使用过程中与人眼距离的变化范围大,需要 比p c 更高的分辨率;手机的内存容量与速度问题会限制纹理与采样技术。因此, 手机3 d 应用不能完全照搬p c 上的处理模式,在游戏引擎的开发过程中必须要 综合考虑到多方面因素的平衡。因此必须考虑到移动设备下面的一些缺陷。 1 内存空间大小的限制 目前市面上所见的移动产品,一般的内存空间不超过2 m ,因此这些移动设 备就会对游戏程序的大小有所限制。在这样的限制条件下设计开发移动游戏显然 是非常困难的。 2 显示速度的限制 由于硬件设备的限制,现在的移动设备的运算速度并不尽如人意,因此会导 致游戏中的动画不够流畅,甚至动画帧数达不到1 0 帧秒,显然这对于游戏动 画而言是致命的打击。而且液晶屏幕本身也存在显示速度的问题。而对于移动设 备来说,一个很大的作用就是在旅途上用来消磨时间的,这样在实际游戏中很容 易造成玩家的视觉疲劳,游戏时间稍长,就会有头晕目眩的感觉。 3 屏幕大小 众所周知,移动设备使用的是小型屏幕。屏幕大小不尽相同,从8 0 * 3 0 到 3 2 0 * 2 4 0 ,就象p c 发展过程中的c g a 、e g a 到v g a ,虽然屏幕分辨率持续 提高,并且彩屏越来越普及,但是屏幕尺寸还是一直很小。分辨率的高低直接导 致了游戏中各种角色造型的大小及表现力。还有一个相关问题:不同的设备屏幕 大小是不同的。虽然各个厂商已经标准化它们产品屏幕尺寸以避免分割市场,但 是开发者仍然需要为不同的设备优化他们的游戏。对美术设计人员而言,就要在 设计之初考虑屏幕的自适应问题,比如在1 2 8 1 2 8 分辨率下和2 0 0 * 2 0 0 分辨率 下,如何可以不重新更换图片,而又达到同样的效果。 4 电力的限制 另外,移动设备的电力资源是比较有限的,不像其他设备,如p c 和家用 游戏机,基本不需要考虑这个问题。目前移动设备使用液晶屏幕,而且高像素的 嵌入式产品越来越多,而高像素的嵌入式产品耗电量更大。由于嵌入式设备具有 的是液晶屏幕,大多数设备在高亮度像素显示与一般像素显示上的耗电量是有所 区别的,例如白色背景就比黑色背景消耗更多的电池能量。因此,对于手机游戏 而言,要做到尽可能节省玩家的电池,可以考虑通过调整每个关卡,将游戏时间 2 第一章绪论 控制在一定范围内来实现。 5 网络响应速度的限制 所谓响应速度是指机器向服务器发出请求直到接到服务器响应的时间长短 这个时间在计算机上是以微秒为单位计算的,在有线因特网上是以毫秒计算的 而在无线网络上则要以秒来计算。这样的响应速度对于嵌入式游戏来说,显然是 相当慢的了。虽然移动运营商总是在努力增加移动电话可用的带宽,但是他们却 没有把降低等待时间当成首要解决的问题,因为它对于别的应用程序并不重要。 相信3 g 时代的到来可以较好的解决这个问题。 1 2 国内外研究现状 1 2 1 国内研究现状 现在,国内对嵌入式3 d 游戏引擎的研究还比较少,大部分的手机游戏开发 公司都采用国外的游戏引擎。 目前国内开发手机3 d 游戏引擎最著名的公司是北京数位红软件应用技术有 限公司。2 0 0 1 年,该公司就已经着手自己研发游戏引擎。五年来,经过实际工 作的积累与检验,使得数位红公司拥有一套成熟的手机游戏开发引擎:“龙骨【2 】”。 数位红的“龙骨”引擎技术架构是成熟、高效、完善、独立的游戏开发工业化无 线游戏开发技术平台。“龙骨”多媒体引擎经过多年的开发完善,证明无论从针 对硬件的优化角度还是对不同移动操作系统的适应能力以及快速开发方面的表 现都非常优秀。数位红应用这一套坚厚的技术底层进行重要的技术延展: 1 、引擎跨平台化 “龙骨”引擎支持多个移动平台,包括s y m b i a n 、j a v a 、w i n d o w sm o b i l e 、 b r e w 和l i n u x 平台,经过了多个产品的移植验证,真正实现了一套代码多个平 台共享的思想,让程序员的代码开发更加有价值。 2 、游戏专业化 游戏核心技术的整合是游戏专业化的第一步,强大的2 d 、3 d 和声音引擎, 针对现有窄带无线网络的多协议网络交互引擎,全球主流游戏引擎的接口整合、 都使得无线平台游戏开发的类型选择更加广阔,主流p c 游戏往移动平台上的过 渡更加简单。 针对特定游戏类型的专业化使得游戏设计人员可以更多地投放精力到游戏 内容中去。r p g 、s l g 、a r p g 、斜4 5 度视角、第一人称视角、第三人称视角、 模拟经营类等主流游戏类型在数位红的游戏开发平台中已经形成单独的游戏引 擎,具备独立的快速开发工具和接口。 手机三维游戏引擎的研究与实现河海大学硕士学位论文 3 、游戏开发工业化 数位红注重流程化模块化概念,对游戏进度与质量的把握达到了工业化水 平。我们还更加多地考虑到适应不同移动设备上的变化,达到一次开发,快速移 植的效果。 2 0 0 5 年开始,“龙骨”引擎真正开始开发给第三方合作厂商,短时间内使众 多内容开发商建立起成熟的开发体系和技术人员团队,并且更加专注于把游戏做 得更好、更专业,因为“龙骨”已经为他们解决了关于平台的烦恼。 4 、网络交互的支持 随着移动平台游戏的日益网络化,龙骨引擎也跨到了网络游戏引擎的领域, 为数位红的游戏以及第三方合作厂商提供了最好的窄带网络游戏的解决方案,更 切合2 5 g 的移动网络游戏需求,同时也降低了移动平台网络游戏开发的门槛。 面对3 g ,龙骨引擎借助了盛大网络游戏的技术和经验,已经做好了技术的 准备,相信在3 g 时代,“龙骨”更加能变成一个时代的技术精品。 引擎提供了非常完善的9 个模块与3 个增强模块,可以完全满足各类游戏开 发的需要。游戏引擎可以直接嵌入到开发者的程序中,不需要额外的支持程序即 可使所开发的游戏独立运行。游戏引擎简单、易用,编译后体积很小,占用内存 也很小,可以节省玩家的内存空间及无线下载费用。基本引擎包含9 个模块,引 擎函数界面提供了类似w i n d o w s 的使用模式: l 、文件操作模块:提供类似标准c 的f o p e n ,f c l o s e 等函数。 2 、内存管理模块 3 、2 d 图形图像模块 4 、对话框模块 5 、s m s 操作模块:可以在程序内部对s m s 的收发进行截获处理。 6 、加密模块:提供识别使用设备的i m e i 功能,用于软件的加密目的。 7 、声音模块 8 、资源打包及压缩模块:可是使最后发售的软件包体积变小,尽量少的占 用用户的内存空间。 9 、常用函数:如字符串操作等函数。 1 0 、例子:提供一套完整游戏m a g i c l i n e 的源程序。 引擎增强模块构成 其增强部分,包含三个模块: l 、实时3 d 增强模块 2 、声音增强模块 4 第一章绪论 3 、图形文件增强模块 另外,还有少数公司推出了自己的游戏引擎。天津市天大北洋软件开发有限 公司是一家专业从事移动设备软件开发的公司,基于s y m b i a n 平台的高性能手机 游戏开发引擎x - f a c t o r y _ 【3 】就是该公司具有自主知识产权的核心产品。x - f a c t o r y 帮助智能手机游戏开发者快速、低成本地开发出高性能的基于s y m b i a n 系统的手 机游戏。“妖精森林”是基于x - f a c t o r y 引擎的一款游戏。“妖精森林”的整个开 发过程仅耗时两周,却不仅充分展示了在x - f a c t o r y 引擎下快速开发游戏的能力, 同时还展示了一个优秀手机游戏应有的品质:操控简单而成熟、画面细致而精美、 规则易懂却极具挑战性、情节简单但十分耐玩。 北京捷通华声公司在国内首家研发成功基于b r e w 的手机3 d 引擎,并推 出了多款基于此引擎的手机游戏如: 3 d 都市狂飘、巴顿的铁拳等。 国内手机三维游戏引擎还处在初级阶段,除了数位红的“龙骨”功能比较完 善,引擎技术架构比较成熟,其它一些公司的引擎还有着很大的差距,如画面的 清晰度和流畅性,以及现在手机这种内存受限的设备下内存的花费。 1 2 2 国外研究现状 目前国外对嵌入式3 d 游戏引擎研究已到成熟期。游戏引擎从技术到商业上 的运作都有着比较丰富的经验。其中最为著名的是f a t h a m m e r 公司的x - f o r g c 【4 1 引擎。x - f o r g e 引擎拥有一套全面的技术和工具使其能在各种主流的嵌入式平 台上开发出高质量的3 d 游戏。x - f o r g e3 d 游戏引擎采用的是两层架构。低层提 供硬件抽象和所有支持平台上的一套标准功能。上层提供全3 d 特性的引擎和游 戏世界中需管理的图形对象模式。目前x - f o r g e 引擎发布的商业授权已经超过 1 5 个。因为x - f o r g e 引擎在商业上获得了巨大的成功,f a t h a m m e r 公司又对其进 行了升级,这就是x - f o r g e 2 引擎。x - f o r g e 2 引擎的宗旨是更加易于开发者使用, 更注重美术工具链,更多的网络特性和更逼真的3 d 效果。x - f o r g e2 引擎依然保 持了前一个版本的模块可选择性,从而实现引擎的灵活性。 日本的手机游戏业也处于比较领先的位置。日本h ic o r p o r a t i o n 开发了一款 m a s c o tc a p s u l e 引擎。m a s c o tc a p s u l e 引擎是实时3 d 图形软件,它能够完全显示 3 d 影像,包括背景,同时还引进了z 轴的概念。目前已在日本n t td o c o m o 的5 0 4 i 和s o s i 系列手机、沃达丰手机和k d d i 手机上使用,己内置m i c r o3 d 版本的手机数目已经超过2 0 0 0 万这个引擎目前已经发展了4 个版本,最新版本 是m a s c o tc a p s u l ev 4oi n t e r a c t i v eb r a i n s 为手机专门开发的高速3 d 图形渲染引 擎“m o b i l e3 dp l u s ”就是在m a s c o tc a p s u l e 引擎的基础上发展而来的。采用 5 手机三维游戏引擎的研究与实现河海大学硕士学位论文 m o b i l e 3 d p i u s 引擎开发的游戏“f i s t g r o o v e ”已于2 0 0 5 年7 月推出。m o b i l e 3 d p l u s 引擎的优势在于,它可以在没有专门的3 d 加速处理芯片的手机上进行即时 3 d 演算,实现的画面不但高速流畅而且是高清晰度的。 此外国外的3 d 游戏引擎中比较有名的产品还有s w e r v ec l i e n t 。它是 s u p e r s c a p e 公司的一套快速高效的3 d 引擎,它完全支持j s r l 8 4 和o p e n g l e s ”。 国内手机三维游戏引擎还处在起步阶段,除了数位红的“龙骨”功能比较完 善,引擎技术架构比较成熟,其它一些公司的弓l 擎还有着很大的差距,如画面的 清晰度和流畅性,以及现在手枫这种内存受限的设备下内存的花费。但在这些方 面国外已比较成熟,但为了商业方颓的利益,在手机三维游戏引擎方面的资料完 全保密,这就需要国内的引擎自己摸索前进。 1 3 本文研究的主要内容 本文较全面的介绍了3 d 游戏引擎的结构、功能和关键技术,在条件受限的 手机设备上开发一款3 d 游戏引擎,主要根据手机内存空间方面的限制,本文在 室外渲染和碰撞检测方面做出一点的优化。在理论与实践相结合的基础上,实现 了一个较为简单的适用于手机游戏的3 d 引擎。 6 第二章三维游戏引擎体系结构设计 第二章三维游戏引擎体系结构设计 2 1 游戏引擎概述 三维引擎,是借用了机器工业的术语引擎,表明其在整个虚拟三维系统中的 核心地位。游戏引擎是游戏中跟具体的游戏无关的核心技术部分,它如同赛车的 引擎一样。引擎是赛车的心脏,决定着赛车的性能和稳定性、速度,操纵感。这 些直接与车手相关的指标都是建立在引擎的基础上的而游戏也是如此,用户所 体验到的关卡、美工、剧情、音乐、操作等内容都是由游戏的引擎直接控制的, 它把游戏中的所有东西都捆绑在一起,在后台指挥它们同时、有序地工作。简而 言之,引擎就是用于控制所有游戏功能的主程序。游戏引擎从视觉角度和设计方 法上分为2 d 游戏引擎和3 d 游戏引擎两类。不论是2 d 游戏还是3 d 游戏,不 论是即时策略游戏、角色扮演游戏或者是动作射击游戏,哪怕是一个很小的小游 戏,都有这样一段起控制作用的代码。 一般来说,游戏引擎包括一个或多个可复用的代码库,用于处理游戏中具有 共性的一些功能。每个库中可熊包括几个功能模块,而各个模块均为应用程序留 出了接口,接受关卡、光照、纹理、地形、材质、图像、声音等数据,并和特定 游戏控制游戏逻辑的其它一些代码构成可执行的游戏程序。从本质上来说,一个 游戏引擎就是一个a p i 。 嵌入式3 d 游戏引擎借用了p c 游戏引擎的基本技术和框架结构。因此嵌 入式3 d 游戏引擎的基本功能、主体结构与p c3 d 游戏引擎基本上是相同的, 所不同的是由于嵌入式设备自身硬件特点所带来的具体实现技术及其最终效果 上的差别。因此p c 游戏引擎中的许多高级技术在嵌入式设备上都不能使用。但 是随着嵌入式设备硬件性能的快速发展,这种由于硬件性能所带来的技术差异也 将会缩小。 2 23 d 游戏引擎的体系结构 在3 d 项目刚开始的时候,由于各方面都比较简单,因此可以直接编程而不 要对引擎的结构进行详细的模块划分。但随着现在3 d 项目开发的越来越广泛, 并且复杂程度也越来越高,如果这些比较复杂的项目在开始编程以前不经过任何 对象化模块化处理,那么即使工作量提高数倍,也不一定能将引擎开发出来。因 此我们可以说对像化模块化对象设计对于3 d 引擎设计来说是一个必不可少的条 件。尽管现在的3 d 项目种类越来越多,与之相对应的三维引擎也不尽相同,但 是体系结构从整体上来说应该是比较固定的,它们之间的差别主要是在各模块的 7 手机三维游戏引擎的研究与实现 河海大学硕士学位论文 内部实现的功能上,当然对于同样的功能实现,它们的算法也不同,以及模块内 部所包含的对象也不一样。因此,下面给出了一个3 d 游戏引擎的体系结构图, 如图2 - 1 所示: 用户接口模块 仃 引挚入口模块 对摄场碰光纹事人 象像 景撞线理件 工 处机构检处 处智 理造测理 理 能 仃 l辅助支持模块 介 系统相关模块 i 图形输入输出声音网络中央控制台 图2 - 1 三维游戏引擎的体系结构 ( 1 ) 对象处理:这是引擎的最基本单位,引擎中的全部工作都是围绕对象来实 现的。 ( 2 ) 摄像机:本模块完成对场景的正常显示功能,它的原理就如同摄像机在摄 像工作的原理一样,三维场景中按照人的正常视觉对场景进行处理,而把视角以 外的一切场景给裁剪掉了,然后把裁剪后的场景再投影到屏幕空间上。大部分引 擎是以操作者的视点作为摄像机位置进行取景的,这样就需要通过坐标变换把场 景中各个对象由世界空间变换到摄像机空间,然后再进行相关的处理。 ( 3 ) 场景构造:该模块从世界数据库中提取相应的场景数据,并根据提取构造 场景。世界数据库中包含场景的信息和数据,并根据提取的信息和数据建立场景。 场景越复杂,世界数据库的数据量就会越大,这样就会造成了个问题,该如何合 理地建立世界数据文件格式,使模块每次可只处理小场景,这样就通过降低模块 处理的数据来提高应用程序的加载速度。 第二章三维游戏引擎体系结构设计 ( 4 ) 碰撞检测:碰撞检测是三维引擎中必不可少的重要组成部分。在实现该模 块时,最重要的就是要在一定精度的前提下尽量地提高碰撞检测的速度,碰撞检 测不应该影响图形渲染的速度和质量 ( 5 ) 光线处理:光照是三维场景中不可缺少的组成部分,因为通过光照处理过 的场景效果自然,逼真它主要处理光线对象的亮度、颜色、位置等属性,以及 对光线对象的行为控制,这些行为可以是光源的移动、光源的强弱、多光源的共 同照明等。它通过调用引擎的脚本模块实现对母后管理功能。从所周知,光是由 红、绿、蓝三个单色光分量组成的,对光的操作其实也是对这三个分量分别进行 操作。假如光的逼真效果,可以用浮点数来表示每一种光线分量,对于一般要求 可以用2 或8 位的整形数来表示每一个分量。 ( 6 ) 纹理:纹理是物体表面的细小结构,它可以是光滑表面的花纹、图案,是 颜色纹理,这时的纹理一般都是二维图象纹理,当然它也有三维纹理,在目前多 边形或者曲面上通过帖上与之相对应的纹理,就可以显示出需要的效果。纹理处 理的实现是通过纹理映射来实现的,纹理映射关系可以是一对一,也可以是多对 一或者一对多的映射。纹理的数据源可以是各种格式的图片,在w i n d o w s 中最 常的格式是位图。纹理的色彩可以是2 5 6 色或3 2 位真彩色,这取决于项目对于 效果的需求,当与目标多边形距离过远可过近时,要对他进行纹理细化处理,以 满足在不同的距离上对纹理不同效果的要求,同时也可以减少程序的计算量。 ( 7 ) 事件处理:事件就是对象状态的变化,这个模块就如同人的大脑,把程序 中各个处于运行状态的对象事件发送来的消息进行加工处理后,再发送到与该事 件相关的模块进行实际处理。说到底他就是一个线程处理器,对当前运行的各个 线程进行指挥与控制,来完成程序整体有序的运行。消息的种类繁多,可以是程 序运行错误消息,错误处理消息和线程之间的通信消息。消息一般存放在消息列 表中,当有消息发过来后,从消息列表中提取相应的事件处理方法,再通过消息 让相应的程序来处理。 ( 8 ) 人工智能:为游戏中的非玩家控制角色的行为和决策提高智能支持,游戏 中人工智能在现代游戏引擎中越来越重要,它直接影响到游戏的可玩性和游戏设 计的复杂性等。 ( 9 ) 图形子系统:图形子系统和渲染器、数学支持、图形工具一起组成了游戏 引擎和图形部分。它负责将游戏中需要表现的画面按照一定的规则画在屏幕上。 对于大多数来讲,图形子系统都是利用o p c n g l 、d i r e c t 3 d 、g l i d e 或是软件渲染 实现。也有更理想的状况就是抽象出一个“图形层”并将它置于实现a p i 之上, 这将给开发人员或是玩家更多的选择,以获取最好的兼容性、最佳的表现效果。 9 手机三维游戏引擎的研究与实现 河海大学硕士学位论文 但是这种方法需要花费大量的时间,所以基本上目前的游戏开发的图形部分( 尤 其是3 d 游戏) 都是基于o p e n g l 、d i r e e t 3 d 这两种类型来进行,而对于嵌入式 系统来说都是基于o p e n g le s 和d i r e o t 3 d m 。 输入输出子系统:实现的是把各种不同输入装置( 鼠标、键盘、游戏板、 游戏手柄) 的输入触发作统一的控制接收处理( 透明处理) 。输出应该由专门的 程序在后台操作完成以减少用户的等待时间。例如,在游戏当中,系统要检测玩 家位置是否正在向前移动,与其直接地分别检测每一种输入装置,不如通过向输 入子系统发送请求以获取输入信息,而输入子系统才在幕后真正地工作( 分别检 测每一种输入装置) ,这一切对于客户开发人员来说都是透明的。用户与玩家可 以非常自由地来切换输入装置,通过不同的输入装置来获取统一的行为将会变的 更加容易。 o d 声音子系统:即采用信号处理的方法对声音进行加工和处理,负责声音的 生成、编码、合成、载入、播放等功能。 a 乃网络子系统:主要是用来为引擎提供网络通信、数据传输以及控制等功能。 引擎使用的网络传输协议目前主要是t c p i p 和i p x 协议。通过网络技术,还可 以进一步实现在分布式上的应用。 中央控制台子系统:控制台可以让系统通过命令行变量与函数,就能够 在运行时改变游戏或者引擎的设置,而不需要重启。开发期间输出调试信息它将 显得更加有效。很多时间都需要测试一系列变量的值,将这些值输出到控制台上 显然要比运行一个d e b u g g e r 速度要快得多。引擎在运行期间,一旦发现了一个 错误,不必立即退出程序;通过控制台,可以非常方便的控制,并将这个错误信 息打印出来。同时控制台还可以根据需要隐藏。对用户来说是透明的。 2 3 本章小结 本章对游戏引擎进行了简要的概述,分析了游戏引擎的体系结构,并对结构 中的每个功能做了个简要的概述。 1 0 第三章三维游戏引擎的关键技术介绍 第三章三维游戏引擎的关键技术介绍 3 13 d 流水线基本内容 目前3 d 游戏引擎通常是用三角形来对场景和物体来进行建模,并构建成一 个三角形链表,传送到3 d 渲染流水线,直到最终显示到屏幕上,另外,图形加 速卡提供了对三角形渲染的硬件支持。3 d 流水线包含以下几个步骤【6 】: 局部坐标到世界坐标的变换:根据物体中心与世界坐标的差向量,将物体的 所有顶点坐标转换成世界坐标系。 世界坐标到相机坐标的变换:根据相机位置和视角对可见的物体进行坐标变 换。 消隐和光照计算:削除3 d 模型中的隐藏面以及将物体从3 d 流水线中删除。 光照计算通常是在世界坐标系下进行的。 物体消除:这个步骤经常单独进行的,可以与光照计算步骤分开。为了利用 执行消隐时计算得到的数据,光照计算和消隐同时进行,这样节省了计算机计算 时的大量资源。 3 d 裁剪:用3 d 视景对多边形进行裁剪。裁剪掉多边形留在视景体外面部 分,只留下视景体内面的多边形部分。 投影:将相机坐标转换为透视坐标,一般将3 d 裁剪安排在透视变换的一面 进行。再将视景体内的透视坐标转化为屏幕坐标,投影到显示屏上暑渲染。 光栅化和裁剪:将一个多边形的列表传递过光栅化函数,这个函数将多边渲 染到屏幕上。同时对穿过屏幕边界的多边形进行象素级或扫描线级的裁剪。 对于3 d 游戏来说,特别是场景比较复杂的游戏,为了保证有稳定的帧数, 必须尽早将不可见的三角形从渲染流水线上剔除,对可见部分进行裁剪,再传送 到渲染流水线的下一个过程。 3 1 1 局部坐标到世界坐标变换 局部坐标,也叫模型坐标m ,是3 d 实体在其局部坐标系中的坐标。建立好 所有的3 d 模型后,要将其放置到世界坐标系中。世界坐标表示虚拟宇宙中的实 际位置,物体将在虚拟宇宙中移动和变换。世界坐标表示的是绝对位置而不是相 对位置。如图3 1 所示: 手机三维游戏引擎的研究与实现河海大学硕士学位论文 图3 1 局部坐标和世界坐标的关系 局部模型坐标 如果知道模型的中心在世界坐标中的坐标( x ,y ,z ) ,那么可以建立一个变 换矩阵t 蠢。( 平移变换) 、r 。( 旋转变换) ,通过乘以变换矩阵就能得到物体的所 有顶点在世界人材中的坐标。平移矩阵表示如下: = 1o 0l o o 工y o o o o 1o z1 从局部坐标 ) ( my 。z l l ll 】到世界坐标系的变换,需要执行的矩阵变换: 【以匕乙1 p 1o o o = 阢l 乙】e : l 工y : = 【盖- + z 】二+ j ,z :+ z1 】 = 【以匕乙1 】 3 1 2 世界坐标到相机坐标变换 o o l 世界坐标到相机坐标的变换指的是对世界坐标系进行移动,使得相机位于世 界坐标系的原点,镜头指向十z 轴方向;这种变换分为:平移和旋转。 首先进行平移,平移以后的结果是,相机位于世界坐标系的原点,物体相对 于相机的位置保持不变,但相机的观察角度为( o ,a n gv ,o ) 。要使相机的朝向 与+ z 轴重合,我们必须将相机绕y 轴旋转一a n g _ y ,同时对所有的物体顶点也要 第三章三维游戏引擎的关键技术介绍 绕y 轴旋转一a n g _ y 。这样物体与相机之间的相对位置保持不变,只有物体在世界 空间中的绝对位置发生了变化 然而如果是一般性角度( a n g _ x ,a n g _ y ,a n g _ z ,) ,必须执行3 次旋转:一 次绕y 轴,称为r c a m y - 1 ;然后绕x 轴,称为r c z m x - l :再绕z 轴,称为r c a m z - 1 ; 旋转角度必须是相机角度的逆 3 1 3 物体剔除 物体剔除指的是将物体删除,以免在整个流水线中对其进行处理。物体剔除 可以在世界空间中进行,也可以在相机空间中进行。这是3 d 引擎流水线中最重 要的步骤,因为在大多数情况下,只有几个物体位于场景中,其他物体要么在视 野范围外,要么在观察者后面,不需要对他们处理。 物体剔除常用的方法有两种,包围球和包围盒技术。包围球测试的原理:对 世界空间中的每个物体,创建一个将其包围起来的球体。然后只对球心( 单个点) 执行世界坐标到相机坐标变换,并判断球体是否位于视景体内,如果不在视景体 内则丢弃它包围的整个物体。接下来,执行背面消除,并对余下的不是背面且在 视景体内的多边形执行世界坐标到相机坐标的变换。如果球体的一部分在视景体 内,再进行其他的测试。 3 1 4 背面消除 背面消除指的是删除背向视点的多边形。这种测试通常是在世界空间而不是 相机空间进行,这样可通过背面消除删除大量的多边形,避免对它们进行世界坐 标到相机坐标变换。因此背面消除要在物体剔除之后和世界坐标到相机坐标变换 之前进行。 背面测试的工作原理:以统一的方式,顺时针或逆时针都可以,对构成每个 物体的所有多边形进行标记,然后计算每个多边形的面法线,并根据观察向量对 这条法线进行测试,如果面法线和观察向量之间的夹角不超过9 0 度,则多边形 对观察者而言是可见的。 3 1 5 相机坐标到透视坐标变换 透视坐标到屏幕坐标变换是指将视平面映射到屏幕,是3 d 流水线的最后一 个阶段。它将视平面坐标进行缩放,变成屏幕坐标。而且,大多数光栅屏幕的原 点位于左上角,y 轴的方向与标准2 d 笛卡尔坐标系相反。当然,如果在透视变换 中,视平面的大小与视窗相同,则无需执行缩放操作,但在大多数情况下,需要 执行平移,并反转y 轴,因为在投影时,我们假设视平面的中心为原点,其+ x 轴 手机三维游戏引擎的研究与实现 河海大学硕士学位论文 指向右方,+ y 轴指向上方,而光栅屏幕的原点位于左上角,y 轴方向与此相反。 因此,无论在什么情况下,都需要执行某种形式的视窗变换。 3 2 光照技术和光线跟踪技术 3 2 1 光的来源 3 2 1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 商贸公司合并协议书
- ftp传输协议书类型
- 2025年环保行业环保科技创新应用案例研究报告及未来发展趋势预测
- 2025年光伏电站运维质量能力提升考核试卷
- 2025年金融与财经职业技能竞赛·云计算服务(弹性算力+数据存储)优化普惠金融效能考核试卷
- 2025年金融行业养老金融合规考核试卷-养老金融机构流动性覆盖率(如保险资金运用)达标与合规
- 2025年房地产行业住房租赁市场租赁住房资产证券化基础资产筛选水平考核试卷
- 2025年乡村教育振兴公费师范生乡村就业成效水平考核试卷
- 2026国家电投集团中国电力招聘35人考试笔试备考题库及答案解析
- 2025重庆永川区事业单位“三支一扶”人员公开招聘13人笔试考试参考试题及答案解析
- 大学生心理健康教育(第三版)教案:第三章 学业发展 成长之基
- 无废医院培训
- 党政干部安全课课件
- 老年重症患者静脉血栓栓塞症预防中国专家共识(2023)解读
- 企业管理-电信客户经理岗位职责说明书
- 佛山暴雨强度公式-2016暴雨附件:-佛山气象条件及典型雨型研究
- 夜店消费行为研究-洞察分析
- Flash动画技术入门(湖北大学)学习通测试及答案
- 前列腺癌内分泌治疗的护理
- 《植物资源裸子》课件
- 汽车维修服务及结算清单excel模板
评论
0/150
提交评论