3D赛车游戏的设计与实现 - 图文(3)

2019-04-02 12:23

湖南大学毕业论文 第4页

DirectInput可以直接使用所有与计算机关联的输入设备。这些设备包括键盘、鼠标、和游戏控制器设备。通过DirectInput,可以最快速确定作为输入设备的状态。更重要的是,DirectInput可以和所有现在的或将来的输入设备对话。由于DirectInput的本质,所以使用它可以很容易的支持以后的输入的设备,而不必更新自己的API。

DirectPlay可以让应用程序对机器进行网络功能设置,从而可以通过连接和其他网络玩家交流。

DirectMusic和DirectSound负责与声音相关的操作,两者在控制声音的数量方面存在差异,DirectMusic可以提供更多的底成控制与更多的灵活性,而且方便使用。而使用DirectSound就不必做很多的控制,因为DirectSound比DirectMusic更高级些。

DirectX目前已经发展到到DirectX10.1,从很不成功DirectX 1到引发了显卡革命的DirectX 8,在到目前的DirectX10.1,这一路走来,DirectX给游戏业带来了巨大的发展。接下来的DirectX最新产品是DirectX11,DirectX 11增加了新的计算shader技术,可以允许GPU从事更多的通用计算工作,而不仅仅是3D运算,这可以鼓励开发人员更好地将GPU作为并行处理器使用。另外,DirectX 11还支持tessellation镶嵌化技术,这有助于开发人员创建更为细腻流畅的模型,实现高质量实时渲染和预渲染场景。多线程是DirectX 11的另外一大亮点,DX11可以更好地利用多线程资源,从而使游戏更有效地利用多核处理器。

湖南大学毕业论文 第5页

2.2游戏引擎 2.2.1 游戏引擎概述

游戏引擎是游戏中与具体的游戏无关的核心技术部分,而游戏的部分就是场景和角色模型、动画、声音和代码等其他控制部分。经过游戏业的不断的发展,如今的游戏引擎己经发展为一套由多个子系统共同构成的复杂系统。一般这些引擎都是3D游戏引擎,从建模、动画到光影、粒子特效,从物理系统、碰撞检测到文件管理、网络特性,还有专业的编辑工具和插件,几乎涵盖了开发过程中的所有重要环节。游戏引擎就是游戏开发者们为了降低重复劳动,节省开发时间和开发费用而诞生的,它封装了些在游戏制作中常用的功能,让我们能直接调用这些功能而不用在从头编写。 2.2.1 选用的游戏引擎结构

在3D游戏中,游戏引擎涵盖的内容很多。选用的该游戏引擎是一个处理所有事务的系统,它是一个控制模块,向所有的子系统发出命令。因此,需要与每个游戏子系统联系。该游戏引擎也是一个容器,它容纳了其他所有的组件,控制整个系统的各个部分。

目前该3D游戏引擎实现的功能模块包括:声音控制、输入控制、图形渲染、游戏界面控制等。其中图形渲染是引擎的核心模块,涉及面较广,目前实现的功能点包括:顶点、纹理、光照、材质、文字、雾化、天空盒、摄像机、广告牌、静态网格模型、骨骼动画、粒子特

湖南大学毕业论文 第6页

效、LOD地形场景、地形多层细节纹理等。最后,使用BSP技术实现了碰撞检测。

该游戏引擎各模块之间的协同操作如图 2-2所示。

图 2-2引擎各模块之间的协同操作

输入系统:接受玩家的键盘、鼠标等外设的输入信息,然后引擎对这些信息进行响应作出相应效果(即游戏逻辑处理),实现与玩家的交互。

声音控制:加载、播放、停止声音等操作。并提供较逼真的三维音效,使玩家如身临其境的感觉。

游戏UI:即游戏的界面。加载图片实现了图形化的界面控件。方便玩家对游戏进行操作,提高用户体验性。

图形渲染:是整个引擎的核心模块,涉及面较广,主要功能是绘制渲染三维游戏世界。目前实现的功能点包括:顶点、纹理、光照、

湖南大学毕业论文 第7页

材质、文字、雾化、天空盒、摄像机、广告牌、网格模型、粒子特效、地形场景等。

碰撞检测:主要使用了二叉空间分割技术,把碰撞网格存储进二叉树,实现快速的碰撞检测。

2.3游戏结构

游戏与其他应用软件有着一定的区别,它不是我们的单线、事件驱动或顺序逻辑的程序。一个3D游戏本质上是一个持续不断的while循环,它执行逻辑并在屏幕上不间断的绘制更新图像——通常以40~60帧每秒或更高的速度不断的绘制[5]。这类似于电影放映方式,不同的是,我们将控制电影的情节发展。

本引擎中所使用的游戏最基本的流程框架如图 2-3所示。

图2-3 3D游戏基本流程框架

初始化:这部分执行与其他任何程序类似的标准操作,如内存分配、资源获取、从磁盘加载数据等。

湖南大学毕业论文 第8页

进入游戏循环:这部分进入主游戏循环,用户将在这里不断地执行动作,直到退出主循环为止。

读取玩家输入:这部分处理玩家输入,或将其存储到缓冲区中,供游戏逻辑使用。

执行游戏逻辑:这部分包含游戏代码的主体部分,将执行人工智能、物理系统和通用游戏逻辑,并根据结果在屏幕上绘制下一帧。

图形渲染:在这一部分中,将根据玩家输入以及逻辑的执行结果,生成下一个游戏动画帧。在甚于3D游戏引擎中,将由一个复杂的3D图形流水线来渲染构成世界的成千上万甚至上百万个多边形。在基于Direct3D的3D硬件加速中,大部分工作都由硬件来承担。

循环:这部分相当简单,只需返回到游戏循环的开头,然后重新执行整个循环。

关闭:这是游戏的末尾,意味着用户退出游戏循环,并返回到操作系统。但是,与其它任何软件一样,需要在返回操作系统之前释放占用的所有资源,并清理系统。

游戏控制台控制流程如图 2-4所示。


3D赛车游戏的设计与实现 - 图文(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:大学英语1复习资料

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: