基于OPENGL的3D游戏设计毕业论文.doc
《基于OPENGL的3D游戏设计毕业论文.doc》由会员分享,可在线阅读,更多相关《基于OPENGL的3D游戏设计毕业论文.doc(41页珍藏版)》请在三一办公上搜索。
1、基于OPENGL的3D游戏设计摘要:随着时代进步,从简单的色块堆砌而成的画面到数百万多边形组成的精细人物,游戏正展示给我们越来越真实且广阔的世界。对于近几年游戏的发展来说,老式2D游戏的画面、游戏性、互动性已经无法满足各类玩家的需要,而3D游戏无论是在游戏画面的真实程度、操作的流畅程度、以及故事背景方面的优越性都非常突出。在这种发展趋势下,2D游戏所占领的市场将会变得微乎其微,3D游戏的开发将会成为整个游戏制作领域的一种趋势。针对于3D游戏开发,OpenGL作为一个3D的应用程序编程接口(API)来说,是非常合适的。OpengGL作为与硬件无关的软件接口,只要操作系统使用了OpengGL适配器
2、就可以打到相同的效果。它又是一个开放图形库,在跨平台领域上非常便利。并且它具有优良的移植性,是广大3D游戏开发者的首选。本论文为利用OpengGL进行3D射击游戏的设计与开发,采用碰撞检测、粒子系统、MD2模型绘制、3D声效等技术,最终实现一个射击游戏。关键词:游戏, 基于OpengGL,三维, 射击游戏Design The 3D Game Based on OpenGLAbstract: Along with the progress of the times,fine characters from simple color swatch built the picture to the
3、millions of polygons, the game is to show us more and more real and the wide world.For the development of the game in recent years, the old 2D games screen ,games andinteractive have been unable to meet all kinds of game player needs, while 3D regardless of the game on the game screen reality, smoot
4、h operation, and the background of the story of the superiority is very prominent.In this trend, 2D game occupied market will become very little, the development of 3D games will become the game made a trend in the field.For 3D game development, OpenGL as the application programming interface of a 3
5、D (API), is a very suitable. OpengGL as the interface of the software and hardware independence, as long as the operating system uses the OpengGL adapter can reach the same effect. It is also an open graphics library, cross-platform in areas very convenient. And it has good transplantation, is the 3
6、D game developers choice.In this paper, the design and development of 3D shooting game is to use OpengGL, the collision detection, particle system, MD2 model, 3D sound rendering technology, the ultimate realization of a shooting game.Keywords game, OpengGL, 3D, shooting game目录1 引言.11.1 课题的背景及意义11.2
7、毕业设计的任务11.3 国内外现状的研究21.4 开发技术与开发平台31.4.1 开发技术31.4.2 开发平台32 OpenGL简介与3D图形学相关52.1 OpenGL简介52.1.1 OpenGl特点52.1.2 OpenGL功能62.1.3 OpenGL渲染72.2 3D图形学相关82.2.1 向量与矩阵82.2.2 变换82.2.3 投影92.2.4 3D裁剪93 游戏设计113.1 游戏的组成113.2 游戏的结构123.3 本游戏设计124 关键技术154.1 摄像机漫游154.2 碰撞检测164.3 粒子爆炸194.4 云雾效果204.5 简易AI214.6 3D模型234.7
8、 3D音效264.8 游戏场景随机地形285 运行游戏30结论36参考文献37致谢38附录. 391 引言1.1 课题的背景及意义随着社会的进步,人们生活节奏在逐渐加快,在工作学习之余,游戏娱乐成为了人们释放压力的一种途径,而电子游戏所具有的操作多样、内容丰富、不受场地限制等特点,成为了人们业余生活的一部分。而伴随着电子产品的不断发展,家用计算机的配置越来越高,越来越多的人们对于游戏的要求已经不仅仅只是好玩而已。游戏的耐玩程度,内容的丰富程度,操作的复杂程度,画面的逼真程度等,都是一款游戏好坏的判定依据。3D游戏作为集立体感、真实感于一身的强表现力游戏,已经占据了电脑游戏领域绝大部分市场。3D
9、游戏的设计与开发则会成为当下游戏发展的一种趋势。OpenGL作为一个专业的图形程序接口,配合C+等开发语言,对于3D游戏的设计与实现是非常占优势的。OpenGL是一个与硬件无关的软件接口,它具有非常良好的移植性,而且它是行业领域中最为广泛接纳的 2D/3D 图形 API,这些特点都使它深受大部分3D游戏开发者的喜爱。基于OpenGL三维场景的强大功能是它的实时观察与漫游技术能够绘制高真实三维图形和实现交互式视景仿真和虚拟现实,因此被广泛应用与三维游戏、虚拟现实等领域。1.2 毕业设计的任务在此次毕业设计中,需要完成的任务有:阅读计算机图形学和相应的动画设计技术、用OpenGL/3DMax实现三
10、维场景建模和游戏设计、VC或VB图形编程等文献和技术资料。分析一些典型的基于OpenGL/3DMax的三维场景游戏设计实例的特点,掌握三维场景建模和游戏动画设计技术,以及在游戏开发中的交互式技术。掌握用VC或VB、OpenGL/3DMax建模工具等开发交互式三维场景游戏软件的基本方法。开发相应的软件系统,建立交互式三维场景游戏模型,设计并实现各游戏的功能和任务模块,要求有良好的交互性和3D视觉效果。软件中应包括各游戏开发的基本原理说明和实例功能演示。根据3D游戏设计的实际需求,以及基于OpenGL的特点上,此次应用C+与OPenGL来设计开发3D游戏。系统设计的基本内容:本文以基于游戏拥有虚拟
11、性这一特性来设计开发。重点讨论了3D虚拟游戏与现实的人机交互方式、数据的分析处理以及3D游戏开发底层的支持,本文中我们的主要研究内容如下:3D游戏数据处理设计:针对现实游戏与3D游戏的区别,设计合适虚拟游戏开发技术的游戏数据处理系统,对玩家的动作数据进行捕获,传输和计算;3D游戏人机交互设计:针对3D游戏特点以及玩家对人机交互需求的变化,对游戏人机交互进行设计;3D游戏三维底层支持设计:提供对3D游戏系统开发和实现的技术支持;我们对3D虚拟游戏系统的设计采用模块化设计思想,不同功能之间使用接口方式相互调用,方便对游戏系统的连接,调试和扩展。1.3 国内外现状的研究3D游戏开发方面:从技术上来看
12、,国外的3D游戏开发技术已经趋于成熟,3D游戏引擎也日渐完善,大多数高质量的3D游戏均产于国外。无论从画面的真实细腻程度上讲,还是从整个游戏操作的流畅程度来讲,亦或者从游戏的故事情节上来看,国外的3D游戏均已达到一个很高的境界。反观国内,3D游戏近年来在刚刚起步,技术不够成熟,也没有很好的游戏引擎,要达到国外的水平,3D游戏的开发在国内还是有很多要解决的问题。从经济上来看,国外的3D游戏制作公司规模大,不仅有商品的收入,而且版权上也有法律的保障。在国内,由于盗版软件的泛滥,版权问题很难得到保障,游戏开发商制作出来的游戏很难保证不被破解,开发商损失严重,经济利益难以保证。从社会的支持上来看,对于
13、3D游戏的发展,由于文化区域的不同,社会上对这不是采取一种打压的态度,这使得游戏的开发有一个很安稳的环境。而国内,因为文化原因,大多数的家长害怕自己的孩子沉迷于游戏,而荒废正业,这使得3D游戏的开发处在一个艰难的阶段,因为有绝大多数的家长还是希望自己的孩子能远离这些东西。无论从技术上、还是经济上,还是社会的态度上,相比于国外,3D游戏的制作开发都有非常长的一段路要走。OpenGL方面:在国外OpenG是具有一定的生命力的,唯一能够取代微软对3D图形技术的完全控制的API。但是由于Silicon Graphics公司已经不再以任何让微软不悦的方式推广OpenGL,所以采用OpenGL开发游戏还是
14、具有一定风险。鉴于OpenGL的特点,还是有许多非常重要的开发人员仍然在使用OpenGL进行游戏的开发与创作。因此,硬件开发商目前正在想法设法地加强硬件对OpenGL的技术支持。现阶段,OpenGL在图形设备以及相关专业占据着统治地位,这是因为Direct3D目前还不能支持这些领域的应用。目前,国内的3D游戏开发技术正处于赶超国外的发展时期,从游戏的创意、游戏的策划、游戏的研究开发与游戏的实现,再到到游戏的运营与维护,都需要大量的知识值得学习。现阶段,由于 Linux 操作系统免费开放源码,以及在程序开发方面有很大的优势,所以在开发领域Linux平台被大力推广,基于Linux 的各种应用软件也
15、层出不穷,因此跨平台3D游戏开发也越来越受重视。由于OpenGL是一种与平台无关的三维图形开发库,在各种语言结合应用OpenGL 函数进行主框架开发并都可以开发出3D游戏。但是由于框架开发的平台相关性使得开发出来的游戏无法跨平台编译运行,因此glut+OpenGL 的方式成了一种很好的选择。1.4 开发技术与开发平台1.4.1 开发技术3D游戏设计是以计算机三维图形学作为游戏的技术基础。在游戏的设计制作阶段,3D游戏世界里所有物体都是以模型的方式建立的,游戏中的立体感和光影效果都是通过对不同的光源和光照的特点进行实时3D渲染而成。3D游戏把游戏世界中的每个物体都看作是一个立体的对象,三维图形可
16、以包含对象360度的信息,能从各个角度去观察游戏场景。3D游戏设计主要的功能模块有:3D引擎模块:除了对游戏提供异常处理、日志系统、资源管理等功能,主要是对游戏提供3D图形的效果渲染以及3D图形的显示。系统支持模块:主要提供了包括定时器管理、窗口管理等功能在内,操作系统功能使用的封装以及引擎在当前操作系统下驱动的功能。场景管理模块:主要提供了对3D游戏引擎中的场景的管理与维护功能,采用多叉树的方法对总场景进行管理与分割的功能。人机交互模块:主要提供了对输入设备的管理,获取记录输入设备产生的响应,例如键盘管理、手柄管理、鼠标管理等功能。数学库:主要提供了对3D游戏游戏引擎所需要的数学库的支持,包
17、括三角函数计算、四元数、矩阵、向量等;音频处理模块:主要提供了对音频文件相关支持,如音频效果的处理、音频文件的播放等。1.4.2 开发平台关于3D游戏开发,一般是使用C+与OpenGL结合或是采用C+与DirectX结合的方式进行设计开发,这对程序员有很高的要求。当开发大型3D游戏时,这种方式的工作量与困难程度会达到一个令人难以想象的地步。如今最有效的开发还是利用游戏引擎进行游戏的开发。本文主要是研究3D射击游戏的制作,设计开发一个很简单的3D射击类游戏。利用VC+6.0与OpenGL结合,进行游戏制作,模型则是采用的MD2模型。OpenGL(全写Open Graphics Library)是
18、个定义了一个跨编程语言、跨平台的编程接口的规格,它用于三维图象(二维的亦可)。OpenGL是个专业的图形程序接口,是一个功能强大,调用方便的底层图形库。Visual C+ 6.0,是微软推出的一款C+编译器,简称VC或者VC6.0,是一款将“高级语言(编程序言)”翻译为“低级语言(机器语言)”的程序。Visual C+是一个功能强大的可视化软件开发工具。自微软公司推出Visual C+后,随着其版本的更新换代,Visual C+已经成为专业程序员开发软件的首选工具。2 OpenGL简介与3D图形学相关2.1 OpenGL简介OpenGL(全写Open Graphics Library)是个定义
19、了一个跨编程语言、跨平台的编程接口的规格,它用于三维图象(二维的亦可)。OpenGL是个专业的图形程序接口,是一个功能强大,调用方便的底层图形库。OpenGL适用于从普通PC到大型图形工作站等各种计算机,并可与各种主流操作系统兼容,从而成为占据主导地位的跨平台专业3D图形应用开发包,进而也成为该领域的行业标准。2.1.1 OpenGl特点OpenGL作为一个性能卓越的图形应用编程接口(API),适用于广泛的计算机环境,并已成为目前三维图形开发标准,是从事三维图形开发工作的技术人员所必须掌握的开发工具。OpenGL的应用领域十分广泛,如军事、电视广播、CAD/CAM/CAE、娱乐、艺术造型、医疗
20、影像、虚拟现实等。它具有以下特点,如图2-1:特点图形质量好行业标准稳定性可适应性可移植性可靠性易用性高性能图2-1 OpenGL特点图形质量好、性能高:无论是三维动画、CAD,还是可视化计算机、视觉模拟等,都利用了OpenGL高性能、高图形质量的特点。这个特点使得程序员在医学图像、虚拟现实、CAM/CAD/CAE、广播和等领域中创造和显示出超乎想象的图形。行业标准:OpenGL ARB作为独立的联合委员会,制定了OpenGL的规范文档。伴随硬件厂商对OpenGL的硬件支持,OpenGL成为了是唯一独立于供应商的、真正开放的跨平台图形标准。 稳定性:在任何平台上都能执行OpenGL,而且它高版
21、本兼容低版本,用来保证已经开发完成的应用程序不会失效。 可靠性和可移植性:利用OpenGL技术开发的应用图形软件与硬件无关,只要硬件支持OpenGL API标准就可以了,也就是说,OpenGL应用可以运行在支持OpenGL API标准的任何硬件上。 可扩展性:OpenGL是低级的图形APi,它具有充分的可扩展性。只要厂商提供OpenGL扩展,就可以轻松实现硬件特有功能。利用OpenGL扩展,OpenGL实现者可以添加新的处理算法。可适应性:基于OpenGL API的图形应用程序可以运行在许多系统上,有次,OpenGL应用程序可以适应开发人员选择的各种目标平台。 易用性:OpenGL具有良好的结
22、构、直观的设计和逻辑命令。与其它的图形程序包相比,OpenGL应用程序只有很少的代码,因此执行速度快。此外,OpenGL封装了有关基本硬件信息,使开发人员无须针对具体的硬件进行专门的设计。2.1.2 OpenGL功能OpenGL是一个独立于操作系用和窗口系统开放的三维图形软件包,以OpenGL为基础开发的应用程序可以十分方便地在各种平台间进行移植;OpenGL还可以与VC+紧密接口,便于实现图形的有关计算和图形算法,可保证算法的正确性和可靠性;OpenGL使用简便,效率高。它具有以下功能:功能建模变换颜色模式设置光照和材质设置纹理映射双缓存动画位图显示图2-2 OpenGL功能建模:OpenG
23、L图形库除了提供基本的点、线、多边形的绘制函数外,还提供了复杂的三维物体(球、锥、多面体、茶壶等)以及复杂曲线和曲面绘制函数。变换:OpenGL图形库的变换包括基本变换和投影变换。基本变换有平移、旋转、缩放、镜像四种变换,投影变换有平行投影(又称正射投影)和透视投 影两种变换。其变换方法有利于减少算法的运行时间,提高三维图形的显示速度。颜色模式设置:OpenGL颜色模式有两种,即RGBA模式和颜色索引(Color Index)。光照和材质设置:OpenGL光有自发光(Emitted Light)、环境光(Ambient Light)、漫反射光(Diffuse Light)和高光(Specula
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于OPENGL的3D游戏设计 毕业论文 基于 OPENGL 游戏 设计
链接地址:https://www.31ppt.com/p-4070390.html