基于Unity3D的汽车驾驶游戏的设计与实现(毕业论文)(2)

2019-04-21 12:42

华东师范大学学士学位论文 基于Unity的车辆模拟游戏的设计与实现

一、 绪论

(一) 研究背景和研究意义

这几年,中国经济以8%左右的速度持续平稳的增长,而在刚刚过去的2012年中国游戏市场实际销售收入602.8亿元,同比增长率为35.1%,首次突破600亿规模[1]。游戏产业己经成为经济市场中增长速度最快的热点,是众所关注的焦点。游戏是文化创意产业里的一部分,创意经济是知识经济的核心内容,更是其经济的重要表现形式,没有创意就没有新经济。游戏设计是文化艺术创意和商品生产的结合,游戏产业的发展在中国的经济发展中具有十分重要的意义[2]:

1.有利于保护民族的文化传统和价值观,抵制文化入侵; 2.推动创意产业的快速发展,提升我国经济产业发展水平; 3.提供健康快乐的大众娱乐方式,提升消费者的休闲体验感受。

游戏的发展从表现方法上经历了2D游戏和3D游戏两个阶段。游戏设计,特别是3D游戏开发综合运用了计算机图形学、物理仿真和网络通讯等技术,并且移动平台技术在这几年得到迅猛发展,轻量级、微创新、时间碎片化一直是移动游戏的发展趋势,如《愤怒的小鸟》、《顽皮鳄鱼爱洗澡》、《神庙逃亡》的用户数都已经过亿。论文通过一个简单的“碰碰车”创意予以实现,涵盖了3D游戏涉及到的一些基本技术,能深入理解这些领域的底层技术并熟练掌握成熟的引擎使用,对于将来开发具有自主知识产权的游戏提供了参考。

(二) 国内外研究现状

国外的3D游戏起步在90年代初,美国的卡马克的《重返德军总部3D》是第一部3D第一人称射击游戏,由其开发的Doom引擎也成为最早3D游戏引擎。国内首款自主研发的3D游戏始于2003年,到目前为止,国内在3D游戏已经有了很多的研究,但由于3D游戏开发的复杂性及经济效益的考虑,国内只有屈指可数的互联网公司拥有自主研发的3D游戏引擎,中小型公司还是使用国外较为成熟的游戏引擎和工具,如虚幻,Unity3D,寒霜。虽然近年来国内涌现一些优秀的3D网游诸如《剑侠情缘3》、《九阴真经》,但一直无法像产出世界级的3D游戏大作,大部分游戏公司还是以代理国外优秀产品为主,导致资金外流及本土文化缺失。

随着移动硬件设备的日益强大,移动平台上的游戏也出现了惊人的增长,3D互动娱乐在手机领域的应用也逐渐增加。而移动领域存在诸多的操作系统,常用的有

1

华东师范大学学士学位论文 基于Unity的车辆模拟游戏的设计与实现

Android、Windows Mobile、iOS 等,而在各个平台上的移植和实现对于开发商来说是不经济的,而目前国外优秀的成熟引擎已经成功解决这类需求,最为突出的要数Unity3D引擎,Unity3D中使用虚拟机技术使游戏编译结果独立于平台执行。国内对于跨平台引擎技术的研究还处于起步阶段,但熟练掌握和理解这些引擎的使用依然具有一定意义。

(三) 论文组织结构

论文按照从设计到实现,从理论到应用,主要围绕一款基于Unity3D的小型的汽车驾驶游戏,对一些3D游戏设计的技术进行相关的研究,并予以设计实现。本文共分为六章,各章节安排如下:

第一部分:绪论,阐述了论文的研究背景和意义、国内外研究现状以及本文主要研究内容;

第二部分:介绍了3D游戏开发的一般技术框架,及相关的第三方引擎,主要有图形渲染库、物理引擎及Unity3D的概述;

第三部分:汽车驾驶游戏的创意以及游戏系统的整体设计,并根据Unity3D框架规范设计了一种MVC层次结构;

第四部分:讨论游戏中各模块的技术研究和实现过程,主要的核心模块是场景渲染和物理仿真;

第五部分:展示当前的游戏并对效率、玩法等方面做一定分析;

第六部分:结论,对该设计进行总结并指出其中的不足,提出下一步展望。

二、 3D游戏技术的知识系统 (一) 3D图形库

1. 3D图形库简介

3D图形库被定义为显卡与应用程序直接的接口。编程人员只要调用3D图形库中的API(Application Programming Interface)函数,从而与硬件的驱动程序沟通,启动3D芯片内强大的3D图形处理功能,制作具有3D图形效果的软件。

3D图形库的执行具有非常快速的特点,并且具有高度的可移植性,其中的API函数定义为独立于任何程序设计语言的一组规范,在特定语言中的实现描述由国际标准化组织来制定。严格按照计算机图形学原理设计而成,符合光学和视觉原理,编程

2

华东师范大学学士学位论文 基于Unity的车辆模拟游戏的设计与实现

人员只要用这些API函数定义点、线、面的三维特征,如位臵坐标、顶点颜色、法向向量、纹理坐标等就可以创建极其逼真的3D图像。许多三维演示系统都用3D图形库作为三维图形生成和控制的编程接口。目前主要应用的3D函数库有DirectX和OpenGL。

DirectX:微软公司专为PC游戏开发的API,与Windows操作系统兼容性好,可绕过图形显示接口(GDI)直接进行支持该API的各种硬件的底层操作,大大提高了游戏的运行速度,而且目前基本上是免费使用的。由于要考虑与各方面的兼容性,DirectX用起来比较麻烦、在执行效率上也未见得最优。

OpenGL:(开放式图形接口)由Silicon Graphics公司开发,能够在Windows 95、Windows NT、Macos、Beos、OS/2、以及Unix上应用的API。由于OpenGL起步较早,一直用于高档图形工作站,其3D图形功能很强,超过DirectX,能最大限度地发挥3D芯片的巨大潜力。在Windows中已经全面支持DirectX和OpenGL。在OpenGL的1.2版中还增加了对3DNow!标准的支持。

2. 3D图形库的渲染管线

绝大多数3D图形库实现都有相似操作顺序,一系列相关的处理阶段叫做3D图形的渲染管线,如图2-1显示了这些顺序,它是3D图形库处理数据的方法[3]。

图2-1 3D图形库渲染管线

下面详细介绍其中几个比较重要的阶段:

3

华东师范大学学士学位论文 基于Unity的车辆模拟游戏的设计与实现

基于顶点的操作与基本装配:这个过程包括本地空间-世界空间-视图空间-背面拣选,主要是根据编程人员设臵的摄像机位臵、视锥属性和顶点索引对顶点数据进行一系列的数学运算,使3D图形的形状及位臵得以正确显示。

像素操作:该过程主要根据编程人员传入显卡的纹理及顶点的纹理坐标以及光照信息进行颜色计算、混合,并对线、面采用线性插值、二次线性插值等算法最终进行出像素的颜色。这个过程的计算一般由显卡固定管线的计算公式完成,如想得到更真实、更多样的效果,可采用可编程管线技术实现。

3. 3D程序基本工作流程

前面提到了调用3D图形库中的API函数来设计3D应用程序,现在更为详细的介绍这样的应用程序的一般工作流程,如图2-2所示:

act sequence main()[Loop]ApplicationInitial()ApplicationUpdate()ApplicationDestory()[for all renderObject]ObjectInitial()[for all renderObject]ObjectUpdate()[for all renderObject]ObjectDestory()

图2-2 3D图形库渲染管线

在程序主入口main函数中,首先调用ApplicationInitial函数进3D图形库的一些初始化工作:如通知显卡存储顶点、颜色、灯光、纹理等信息,接下来进入主循环不断调用ApplicationUpdate函数,ApplicationUpdate调用每一个渲染物体的ObjectUpdate函数,更新其在显存中的信息,并通知显存进行一次渲染管线流动,这样新的一帧3D图形就被渲染出来并产生动画。最后在应用程序结束时调用ApplicationDestory来进行清理工作。当然,复杂的3D应用框架还会利用多线程技术来处理逻辑运算和事件回调等内容。

4

华东师范大学学士学位论文 基于Unity的车辆模拟游戏的设计与实现

(二) 物理引擎

1. 物理引擎简介

在游戏这项综合应用中中,除了华丽的画面渲染外,作为表现虚拟世界系统内在物理规律的计算是必不可少的。当被模拟的刚体的运动比较简单,我们可以在一定程度上通过编程或编写脚本来实现,如简单的加速和减速牛顿物理运动。但当模拟比较复杂的物体的碰撞、滚动、滑动或者弹跳的时候,通过编写底层算法会造成工程延误,这显然不符合软件工程的思想。成熟的物理引擎能够允许更复杂的物理模拟,像球形关节、轮子、气缸或者铰链,有些也支持非刚性体的物理属性,比如流体和布料。

物理引擎接受的输入是由外界调用模块传递过来的场景信息以及场景中物体的位臵信息。根据调用模块的不同,可能输出三种计算结果:场景与物体以及物体之间是否发生碰撞、碰撞发生的具体位臵以及发生碰撞后物体的具体位臵,并将计算结果传送给调用模块。如图2-3所示:

图2-3 物理引擎功能示意图

2. 物理引擎基本架构[4]

物理引擎一般分为两个重要部分,即碰撞检测和物理学世界。如图 2-4 所示:

5


基于Unity3D的汽车驾驶游戏的设计与实现(毕业论文)(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:第1章 VB程序设计初步

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

马上注册会员

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