《守护阿拉德大陆的游戏设计与实现毕业设计论文.doc》由会员分享,可在线阅读,更多相关《守护阿拉德大陆的游戏设计与实现毕业设计论文.doc(53页珍藏版)》请在三一办公上搜索。
1、长沙学院 CHANGSHA UNIVERSITY本科生毕业设计设计(论文)题目: 守护阿拉德大陆的游戏设计与实现 系部: 数学与计算机科学技术系 专 业: 软件工程(服务外包) 学 生 姓 名: 班 级: 学号 指导教师姓名: 职称 教授 最终评定成绩 长沙学院教务处 二一五年五月制(20 15 届)本科生毕业设计说明书守护阿拉德大陆的游戏设计与实现系部: 数学计算机科学技术系 专 业: 软件工程(服务外包) 学 生 姓 名: 班 级: 学号 指导教师姓名: 职称 教授 最终评定成绩 2015 年 5 月摘 要Unity3D是最近几年非常热门的一种跨平台能力强的开发引擎,被广大游戏开发者所喜爱
2、。在目前的手机应用开发界,Unity几乎成为了开发标准工具。本文介绍了用Unity软件来设计和开发一款塔防游戏守护阿拉德大陆的全过程。按照游戏的开发思路,从相关知识介绍、游戏设计、游戏实现到软件测试一步步展开工作,完成毕业设计的最终作品。本文将讲述的重点放在游戏实现这一环节,从第一个场景建立开始,到模型的导入,直到项目完成;游戏的测试将在Unity3D软件中进行,并分析出测试结果。塔防类游戏以不断变强的敌人一波接一波的进攻为主要核心内容,该游戏设定为10波敌人。当所有敌人进攻完毕后,我方基地依然存活则取得游戏胜利。敌人死亡后可以获得金币,金币是建造炮塔的必须条件。关键词:Unity3D,塔防游
3、戏,碰撞检测ABSTRACTUnity3Disverypopularinrecentyearsacross-platformabilitydevelopmentengine,isenjoyedbythegamedevelopers.Inthecurrentmobileapplicationdevelopmentworld,Unityalmostbecomethestandarddevelopmenttools. ThisarticleshowsaUnitysoftwaretodesignanddevelopthewholeprocessoftowerdefensegame.Accordingt
4、othethinkingonthedevelopmentofthegame,fromtherelatedknowledgeintroduction,gamedesign,gameimplementationtosoftwaretestingworkstepbystep,completethegraduationdesignworkfinally.Thisarticlewillfocusonthegameaboutachievingthislink,fromthefirstsceneisbuiltup,tothemodelimport,untiltheprojectiscomplete;Game
5、testingwillbedoneinUnity3Dsoftware,andanalyzesthetestresults.Towerdefensegameinordertocontinuouslystrengthenthewavesofenemyattacksasthemaincorecontent,thegameissetto10waveofenemy.Whenalltheenemyaftertheattack,ourbasestillalivethenwinthegame.ThedeathoftheenemycangetgoldCOINS,goldisanecessarycondition
6、fortheconstructionoftheturret.Keywords: Unity3D,TowerDefenseGame,Collosion Detection 目 录摘 要IABSTRACTII前言1需求规格说明书31 引言32 任务概述43 需求规定54 运行环境规定6游戏设计说明书91 引言92 游戏玩法设计103 游戏内容设计104 关卡设计115 界面设计126 游戏基本架构和主要类设计137 数据结构与算法设计16技术说明书181 引言182 3D渲染193 动画制作194 NGUI插件技术195 游戏特效196 碰撞检测20测试用例说明书221 引言222.测试用例233
7、 总结和评价31结 论32附 录33附录1 游戏运行结果33附录2 程序源代码33致 谢47前言本游戏是基于Unity平台的塔防游戏。目前在电脑游戏极度盛行的年代,电脑游戏在人们的生活中占的比列越来越重,Unity的制作的3D游戏越来越多,Unity过去主要针对3D游戏开发的市场,目标是占领整个游戏开发团队。在计算机技术,数学技术,三维技术迅猛发展的现代,2D游戏逐渐被3D游戏所取代,3D游戏已经有了取代2D游戏的势头,并且这个趋势还在加大。在此背景下,我所做的这款3D塔防游戏守护阿拉德大陆应运而生,这个游戏主要是玩家在阿拉德大陆上建造防御塔来防御怪物的进攻,当阿拉德大陆进入怪物时,阿拉德大陆
8、会损失血量,当血量为零阿拉德大陆便会毁灭则游戏失败。本论文主要是对守护阿拉德大陆塔防这一款游戏做详细的介绍,详细介绍了游戏的开发背景、开发游戏的市场需求、游戏设计思路、主要开发内容以及游戏玩法和功能实现。本文档分为四大部分:需求分析说明书,游戏设计说明书,技术说明书,测试说明书。需求分析说明书:是对游戏的编写目的,背景,功能的需求,用户的需求进行分析。游戏设计说明书:是对游戏的整体思路进行设计,比如怎么样设计游戏的怪物的行走线路,炮塔攻击范围等。 技术说明书:是说明该游戏用到了哪些主要技术。测试说明书:做完游戏之后,需要对游戏的一些功能进行测试,比如怪物是否在规定的线路上行走等。守护阿拉德大陆
9、的游戏设计与实现需求规格说明书V2.0编 制 审 核 批 准 长沙学院二零一五年三月十六日需求规格说明书1 引言1.1 编写的目的编写本游戏设计与实现的需求分析报告,是为了以书面形式把用户对本游戏使用的要求全面的描述出来,以作为下一步游戏开发设计的依据。该游戏的设计主要是减轻人们的生活,学习以及工作压力。使人们心情舒畅,提升工作效率等。本说明的预期读者:设计人员:负责游戏的策划工作,游戏架构设计,功能设计,以及场景、角色、道具设计。开发人员:根据设计人员的设计要求进行相关的程序编写,实现具体的游戏功能。测试人员:熟读该文档,对该游戏有明确的了解后,进行试玩测试,并提出相关意见。用户:该游戏面向
10、的玩家。1.2 背景a.待开发的游戏的名称;守护阿拉德大陆的游戏设计与实现b.本项目的任务提出者、开发者、用户;提出者:开发者:用户:pc端用户c.该游戏与其他游戏的基本相互来往关系:无1.3 参考资料 1塔防百度百科 2张海藩软件工程导论M北京大学出版社,2009 3孟祥旭,李学庆,杨承磊人机交互基础课程(第2版)M北京:清华大学出版社,2010.7 4严蔚敏,吴伟民数据结构(C语言版)M北京:清华大学出版社,2007 5王立福,孙艳春,刘学洋软件工程(第三版)M北京:北京大学出版社,2009.10 6Visual C# 2010从入门到精通/(英)夏普著;周靖译。北京:清华大学出版社,20
11、10.8.1 7白以恩.计算机网络基础及应用M.哈尔滨:哈尔滨工业大学出版社,2000. 8Unity 3D游戏开发技术详解与典型案例/吴亚峰,于复兴 著。北京:人民邮电出版社,2012.11.01 9胡伟Android系统架构及其驱动研究J 广州广播电视大学学报,2008.8(1) 10Unity 4.X从入门到精通/Unity Technologies 主编。北京:中国铁道出版社,2013.112 任务概述2.1 目标开发背景:守护阿拉德大陆塔防游戏是一款塔防类游戏,本塔防游戏的创意来自本人对DNF该游戏特别喜爱,自从游戏里面的阿拉德大陆被毁灭之后,我很希望回到以前的版本,但是不能实现,所
12、以就编写了这个守护阿拉德大陆的塔防游戏,希望我自己能守护住它。开发意图:在PC电脑设备飞速发展的今天,本游戏能使玩家放松自己,能让玩家在游戏中释放压力,锻炼手速。应用目标:使玩家玩得开心。作用范围:喜爱DNF和拥有PC端的用户。2.2用户的特点玩家:本游戏面向喜欢塔防游戏的玩家和DNF游戏爱好者,游戏难度比较简单,游戏节奏较快。开发者:作为开发者,本人也只是Unity3D的初学者,缺乏经验,无法展现出游戏的最完美的一面,但是以后会不断对此游戏进行完善和创新。2.3 假定和约束开发平台:Unity3D。设计软件:Unity3D、PS、MAX3D。运行环境:PC端。时间风险:在较短的时间内完成此游
13、戏的策划、游戏设计、美工设计、代码实现、游戏测试、以及最终的论文编写。本游戏的最后的交付日期:2015-5-273 需求规定3.1 对功能的规定本款游戏为单机游戏,只允许单用户。属于塔防游戏,进入游戏后会出现一个本人设计的游戏场景,接着怪物会从设计好了出怪点出怪,用户要防止怪物进入阿拉德大陆,在怪物线路旁边建筑炮塔。下面对游戏的功能进行详细的描述:(1)进入游戏:首先进入游戏开始界面,游戏开始的界面会出现一个开始游戏的按钮,点击该按钮进行场景的切换。(2)点击开始按钮后,就回出现游戏场景,进入游戏场景中玩家会看到一条通往我方基地的道路和建造防御塔标识。(3)玩家能够点击游戏场景界面中的路飞标识
14、建筑炮台。(4)防御塔只能在道路之外建造,防御塔不能够建造在道路上,防御塔建造后会对其攻击范围内的怪物进行攻击,造成伤害。(4)玩家要防止怪物进入阿拉德大陆,怪物每进入一只到基地,基地的生命值减少1,初始的生命值为10,当生命值变为0则游戏结束。(5)怪物会按照开发人设定的路线前进,开发人会在道路每个拐角处都设置一个路点,每两个相邻的路点都设置好父子关系,即当前路点的子路点是下一个路点的父路点,怪物就会按照这个线路进行前进,当最后一个路点的子路点为空则销毁怪物。(6)防御塔会攻击在其攻击范围内的怪物,怪物没血时则怪物死亡消失。3.2 界面需求游戏的主要界面有:1、 开始游戏界面:该界面就是一个
15、开始游戏按钮,单击则进入下一界面。2、 游戏界面:此界面是最主要的界面,用户就是在此界面进行游戏。3、 游戏失败界面:该界面就是当阿拉德大陆生命为0时出现游戏失败的界面。4、 游戏通关界面:当玩家守住了10波强大的怪物并且玩家生命不为0时显示通关显示replay重开按钮。3.3 资源需求 1.一个草地和山川组成的地形 2.防御塔模型、骷髅兵模型、山体模型。 3.各种UI、按钮、血条等。 4.按钮图片、路点图片、防御塔图片。3.4 操作需求由该游戏操作方式有一种:在PC端用鼠标进行操作,在游戏开始界面会有一个开始游戏按钮,鼠标左键点击按钮进入游戏场景界面,鼠标左键点击场景地面时,可以拖动场景,两
16、个鼠标左键不冲突。3.5 对性能的规定3.5.1精度波数、生命值、怪物积分数输出为整数。3.5.2时间特性要求出怪时间:最长等待时间5秒。防御塔攻击间隔时间:最长等待1秒。3.5.3灵活性在开发本游戏前和玩家,客户进行了沟通,游戏的功能等需求不会有大的变动,所以灵活性要求不高。3.6 输入输出要求PC端运行:鼠标左键点击开始游戏按钮进行场景的切换。鼠标左键选择按钮和建造防御塔。鼠标左键点击地面可以拖动场景。3.7 其他专门要求本产品为单机游戏并不需要用户的相关资料,不需要联网进行。4 运行环境规定4.1 设备此游戏支持windowsXP及以上系统、允许脱机游戏、需要有鼠标进行操作。4.2 支持
17、软件守护阿拉德大陆的塔防游戏开发所用的操作系统为Win 7,开发平台为Unity3D,其他相关软件有Photoshop,MAX3D。守护阿拉德大陆的游戏开发与实现软件设计说明书V2.0编 制 审 核 批 准 长沙学院二零一五年四月十六日游戏设计说明书1 引言1.1 编写目的本文档是对游戏的设计进行具体的描述和说明,使开发人员对游戏的开发有一个整体框架和思路,通过该文档开发人员对如何去实现游戏功能有大概思路,并作为测试和验收的依据。本文档的预期读者:项目经理:使其对游戏开发过程有更好的管理和分工;设计人员:本文档就是由设计人员编写,让设计人员更好更规范的写出游戏的整体设计,让开发人员大概了解其表
18、达的内容,更好的编写游戏;开发人员:通过该文档了解一个大概要编写的游戏内容,可以进行有效编码;测试人员:阅读此文档能够去测试游戏有没有达到设计人员所设计出的预期效果;1.2 背景a.待开发游戏的名称:守护阿拉德大陆的游戏开发与实现类型:塔防类游戏该类型游戏发展:随着智能手机设备的飞速发展,手游越来越多的出现在人们的生活之中,塔防游戏的本身是魔兽塔防,是魔兽地图的一种,这种塔防游戏十分吸引人们的眼球,随着守护忍者村、魔界降临、保卫萝卜等游戏的推出,此类游戏更是受到了越来越多人的喜爱。b.本游戏的任务提出者: 开发者: 用户:DNF游戏爱好者1.3 参考资料 1塔防百度百科 2张海藩软件工程导论M
19、北京大学出版社,2009 3孟祥旭,李学庆,杨承磊人机交互基础课程(第2版)M北京:清华大学出版社,2010.7 4严蔚敏,吴伟民数据结构(C语言版)M北京:清华大学出版社,2007 5王立福,孙艳春,刘学洋软件工程(第三版)M北京:北京大学出版社,2009.10 6Visual C# 2010从入门到精通/(英)夏普著;周靖译。北京:清华大学出版社,2010.8.1 7白以恩.计算机网络基础及应用M.哈尔滨:哈尔滨工业大学出版社,2000. 8Unity 3D游戏开发技术详解与典型案例/吴亚峰,于复兴 著。北京:人民邮电出版社,2012.11.01 9胡伟Android系统架构及其驱动研究J
20、 广州广播电视大学学报,2008.8(1) 10Unity 4.X从入门到精通/Unity Technologies 主编。北京:中国铁道出版社,2013.112 游戏玩法设计塔防类游戏是一种由玩家进行防御塔建造,来防范敌人进入自己基地,从而获得游戏胜利。下面从人数、操作方式和获胜条件等方面来分析塔防类游戏的玩法。2.1 玩家人数守护阿拉德大陆是一种单机游戏,游戏玩家为一人。2.2 操作方式守护阿拉德大陆游戏操作方式有一种,在PC端用鼠标进行操作,在游戏开始界面会有一个开始游戏按钮,鼠标左键点击按钮进入游戏场景界面,鼠标左键点击场景地面时,可以拖动场景,两个鼠标左键不冲突。2.3 取胜条件守护
21、阿拉德大陆本游戏我方阿拉德大陆村庄有10点生命值,并设计怪物波数为10波,当村庄的生命值大于0且10波怪都被玩家消失后则判定玩家获得胜利。3 游戏内容设计3.1 关于剧情该游戏的剧情:在历史悠久的DNF大陆上,存在着一片安静的土地名叫阿拉德大陆,阿拉德大陆上藏龙卧虎隐居着许许多多的强大之士,其中就有鬼剑士、格斗家、神枪手(男)、神枪手(女)、圣职者、暗夜使者、魔法师等还有各种强大的异能者,异能者他们跟鬼剑士他们一群人相处并不是很愉快,但是每天都有每天的乐趣,直到有一天赫尔德唆使卡恩毁灭阿拉德大陆,魔界的大批怪物开始转移到阿拉德大陆上面,阿拉德大陆的居民抛弃前嫌联合在了一起以往的GBL教敌人伊莎
22、多拉和范哲利斯,还有超能力者莫纳恒都成了冒险家们的盟友,一起抵御强大的魔界敌人。3.2 关于炮塔的属性与升级当怪物来袭时,玩家可以通过建造防御塔,来抵御怪物的进攻,每只怪物死亡会产生积分,玩家能够杀死怪物来进行防御塔的建造,随着波数的增加,怪物的速度,生命都会增加,当然玩家的防御塔也会增加。3.3 关于物品的属性、取得与使用本游戏没有设计具体的物品,就是一个虚拟的分数,玩家能够通过分数来建造防御塔,初始分数为10,每五点分数建造一座防御塔,每消灭一只怪物玩家会获得2点分数。4 关卡设计4.1关卡及关卡中游戏元素参数关卡:游戏首先会进入游戏场景,有一个波数UI界面,波数的设定是十波。在前一波怪物
23、没有挑战成功之前,后面的波数的怪物将不会出来。游戏元素:游戏中会有怪物、怪物被防御塔击杀会产生积分、游戏场景左下方有一个建造防御塔按钮。背景比例:背景比例自动适应屏幕大小。4.2 操作设计 操作为PC端上操作,在PC端用鼠标进行操作,在游戏开始界面会有一个开始游戏按钮,鼠标左键点击按钮进入游戏场景界面,鼠标左键点击场景地面时,可以拖动场景,两个鼠标左键不冲突。鼠标左键点击防御塔按钮,再点击地面,会由摄像机发射出一条射线与地面产生碰撞,并计算射线出地面碰撞点的坐标,从而在地面建造防御塔。4.3 关卡中的元素为了不让玩家感到枯燥无味,我们特意添加了路飞图片,山山水水来增加游戏意境,还在基地处添加了
24、几个人物模型。5 界面设计游戏中包括的界面有:开始游戏界面、游戏场景界面、游戏结束界面、游戏通关界面。 开始游戏界面:打开游戏后,游戏会弹出一个游戏开始的界面,玩家需要点击游戏开始按钮方能进入游戏。如图5.1所示。 游戏场景界面:玩家进入游戏后,点击完游戏开始按钮,游戏场景就会显示出来,玩家在这个界面能有愉快的试玩该游戏直至游戏失败或者通关。如图5.2所示。 游戏失败界面:当游戏失败时,游戏失败界面便会弹出玩家能再该界面选择重新开始游戏或选择退出游戏。如图5.3所示。 游戏通关界面:当玩家游戏通关后,游戏通关界面便会弹出,未尽兴的玩家可以选择再来一次或者退出游戏。如图5.3所示。图 5.1 开
25、始游戏界面图5.2 游戏场景界面图5.3 游戏通关和失败界面6 游戏基本架构和主要类设计6.1 游戏的基本架构一个游戏必须包含多个场景和界面,玩家根据当前的游戏进度选择相应的关卡,之后进入不同的游戏场景。游戏模块的重要性是提供了一些必要的功能支持游戏的进行,这些功能一般都是完全独立于其他场景存在的,它们的主要工作就是与游戏主场景的控制数据进行信息的交换,从而支持游戏的进行,让主场景的游戏内容具有更强的意义。塔防游戏不需要特别复杂的游戏系统,它更加侧重于游戏可玩性和策略性的设计,并且由于Unity3D引擎的实用性,省去了许多底层模块的设计。 游戏主系统类图如下:图6.1 主系统类图游戏界面相关类
26、:生成器类EnemySC、敌人类Enemy、游戏摄像机类mainCamera、游戏管理类GameManager、防御塔类TD、GUI按钮类GUIan、GUI文字类GUIwenzi、网格类WangGe、不可放置炮塔类Nofang、血条类Xutiao、路点类Ludian游戏开始界面类:Yxks类游戏开始类游戏基本流程:启动游戏进入开始界面,点击开始游戏按钮进入游戏场景界面,进入游戏场景界面后,用户用鼠标在道路旁边建造防御塔,用鼠标点击路飞头像进行防御塔的建造,当怪物全部消灭且基地血量不为0时则游戏通关,整个游戏结束,当基地血量为0时游戏失败,游戏结束。整体流程图如下:图6.2 游戏流程图6 .2
27、主要类的设计生成器类EnemySC:生成怪物的关键。先定义敌人的标识,起始路点,调用储存敌人出场顺序的XML,保存所有从XML读取的数据,设置下一个敌人出场的时间,出场敌人的序列号,当前波数的敌人数量,只有消灭当期波数内所有敌人,才能进入下一波,建立一个Start函数,在这个函数中调用读取XML的文件的函数在获取下一个敌人的信息,再创建一个生成敌人的函数,从而在这个类里面敌人就会按照设定的代码运行,生成敌人。敌人类Enemy:在这个类中定义了当前路点,怪物的生命值,最大生命值,以及移动速度,敌人的模型有两种,一种是骷髅长矛兵,一种是骷髅刀兵,创建了一个减少生命值的函数,一个转向下一个路点的函数
28、RotateTo,设计了一个MoveTo函数,怪物会通过这个函数完成前进的路线,前进到最终的目的地,怪物销毁。游戏摄像机类mainCamera:在这个类里面定义摄像机距离地面的距离,摄像机的角度,移动速度,摄像机的移动值以及摄像机的焦点,该类里面会通过Start函数获取摄像机的焦点,然后将摄像机对齐到焦点的位置和角度,再编写一个控制摄像机移动的函数,通过鼠标控制摄像机移动。游戏管理类GameManager:该类是游戏场景界面管理,对于游戏场景里面的UI界面管理,将UI界面的文字类设置为红色并显示到游戏场景界面去,当基地生命值为0时,会出现REPLAY按钮,并绘制了路点之间的连线。防御塔类TD
29、:该类设置了防御塔的攻击范围,攻击力,攻击间隔时间,有一个设置防御塔转向的函数,防御塔将会转向进入攻击范围内的目标敌人,FindEnemy函数是指防御塔会遍历地图上所有的怪物,防御塔会对其攻击的目标敌人造成伤害,其中定义了一个最小生命值的变量,防御塔会将生命值最小的目标进行攻击,直至目标销毁才会寻找下一个目标敌人。GUI按钮类GUIan:游戏中的按钮管理。GUI文字类GUIwenzi:游戏UI文字界面管理,其中会更新基地的生命值,怪物波数和分数。网格类WangGe:对不可以放置防御塔的地方进行区域管理。不可放置炮塔类Nofang:地图中怪物行走的道路上不能放置防御塔,防御塔在道路上不能实例化。
30、血条类Xutiao:管理怪物血条,定义了怪物的血量和最大血量以及血量的横纵坐标轴的变化,创建了移动生命条模型的UV,根据生命值状况更新生命条模型的UV位置,设置生命条的位置和方向它将始终面向摄像机。路点类Ludian:建立了父路点和子路点并设置了子节点,怪物会从父路点向子路点移动,在界面中绘制了路点的图标。7 数据结构与算法设计7.1 算法设计本游戏中设计了一个简单的链表实现敌人的AI寻路功能,程序中的路点类(Ludian)就是该功能的实现方式。为当前路点设置一个子路点和父路点,通过参数传来一个路点node作为子路点,把当前路点作为node的父路点,这样依次形成链表。只要当前路点的子路点不为空
31、,敌人就会一直向当前路点的子路点移动。伪代码如下:IF 子路点不为空 THENdo 清空子路点的父路点;把参数路点作为子路点;把当前路点作为参数路点的父路点;守护阿拉德大陆的游戏设计与实现技术说明书V2.0编 制 审 核 批 准 长沙学院二零一五年四月十六日技术说明书1 引言1.1 编写目的本文档是对该游戏中所使用的技术进行详细介绍。技术人员在开发之前撰写此部分文档,通过撰写此文档技术人员可以明晰思路,对编码实现的难易程度有初步认识,撰写该文档便于技术的修改。技术人员在开发以该文档所介绍的技术为依据进行编码实现和开发。该文档也是测试人员的依据,测试者根据该文档测试游戏的效果。1.2 背景a.待
32、开发游戏的名称:守护阿拉德大陆的游戏设计与实现b.列出本游戏的任务提出者:开发者:用户:喜爱DNF的玩家1.3 定义3D渲染:在3DMAX或Unity中给场景和模型进行渲染,让场景和模型具有丰富的图像效果。英文为Render或Shade,也有的把它称为着色。碰撞检测:检测模型之间是否发生碰撞,发生碰撞和即将发生碰撞的部位,动态获取模型间的距离。1.4 参考资料 1塔防百度百科 2张海藩软件工程导论M北京大学出版社,2009 3孟祥旭,李学庆,杨承磊人机交互基础课程(第2版)M北京:清华大学出版社,2010.7 4严蔚敏,吴伟民数据结构(C语言版)M北京:清华大学出版社,2007 5王立福,孙艳
33、春,刘学洋软件工程(第三版)M北京:北京大学出版社,2009.10 6Visual C# 2010从入门到精通/(英)夏普著;周靖译。北京:清华大学出版社,2010.8.1 7白以恩.计算机网络基础及应用M.哈尔滨:哈尔滨工业大学出版社,2000. 8Unity 3D游戏开发技术详解与典型案例/吴亚峰,于复兴 著。北京:人民邮电出版社,2012.11.01 9胡伟Android系统架构及其驱动研究J 广州广播电视大学学报,2008.8(1) 10Unity 4.X从入门到精通/Unity Technologies 主编。北京:中国铁道出版社,2013.112 3D渲染毁灭阿拉德是3D类游戏,是
34、使用unity平台制作的游戏,unity引擎自带的渲染系统,将模型导入后对模型进行渲染。在该游戏中用shader来对场景、角色进行渲染。Surface shader可以用来制作渲染效果。那下面我们来介绍如何用shader来渲染:创建shader,Asset-create-shader打开shader即可看到系统自带的shader代码。把该shader赋予角色,修改shader参数,就可以看到diffuse渲染效果。渲染还有BumpMap效果、Blinn-phong效果,实现这些效果只需对Shder脚本做相应修改。3 动画制作毁灭阿拉德游戏中的动画是由3DMax制作出来的。3Dmax自身提供了直
35、接连接方式和蒙皮连接方式这两种骨骼支配的连接方式。此游戏中敌人行走和敌人的奔跑还有防御塔的动画都需要用到动画,行走和奔跑都需要肌肉运动,所以就要用到蒙皮连接方式。主要制作步骤为:创建骨骼绑定骨骼蒙皮封套制作动画。然后打开关键帧的面板来K帧,调整好敌人和防御塔在每帧的肢体动作。制作好模型的动画后,就可以导入到Unity3D中,给模型添加组件,赋予代码,动画就可以实现了。4 NGUI插件技术NGUI插件是现今非常火爆的UNITY插件,它拥有非常强大的功能,使用它可以设计出既美观又实用的UI界面。它的特点是:完全集成到Inspector面板中;不需要点击Play按钮就能查看结果;在场景视图中看到的就
36、是在游戏视图中得到的(所见即所得);基于组件的、模块化的特性,要让你的界面控件做什么,只需为其附加相应的行为,而不需要编码;全面支持iOS/Android和Flash;灵活的事件系统;可以让复杂的UIs只占用一个draw call;可以直接在编辑器中创建、更新/修改纹理地图集,或从Texture Packer程序导入纹理地图集;支持光照贴图、法线贴图、折射等特性,让你尽情发挥创造力;支持硬边或柔性的面板裁剪;支持灵活尺寸的表格,能够自动对控件进行排列;提供大量有用的辅助脚本,从改变按钮颜色到拖拽对象;简洁和高度优化的C#代码。本游戏使用NGUI插件制作了多个界面,在游戏场景中制作了多个小型的U
37、I组件。5 游戏特效在游戏中,最吸引人的莫过于酷炫的游戏特效,包括:爆炸效果、闪电、火焰等。最直白的理解游戏特效就是在游戏中添加特殊的效果,最直接的感受就是给我们带来的游戏中炫丽的光影效果等。它在游戏中具体所体现的是细节处给游戏场景带来更多丰富的内容。目前常用的有粒子系统、公告板、动态灯光等。下面主要介绍UNITY中自带的粒子系统。5.1 粒子系统粒子系统即一组从特定物体或者位置发射出小的颗粒,游戏中这些小的粒子通常用的是小的二位图形和点图形,这些图形都带有小的纹理和Alpha通道,另外粒子具有生命周期、速度等属性,并受重力等影响。粒子系统的应用是最为广泛的,游戏中常常用来表现烟花、炮火、喷泉
38、等等。6 碰撞检测在unity3d中有两种应用非常广泛的碰撞检测方式,一种是利用碰撞器检测,另一种则是利用触发器检测。(1)碰撞器是一群碰撞相关的组件,它包含多个种类,比如:Box Collider,Capsule Collider等,这些碰撞器的应用各不相同,但都必须加到物体身上。(2)所谓触发器,要求在检视面板中的碰撞器组件中勾选IsTrigger属性框。本游戏中用到的碰撞检测方法是包围盒(球)碰撞检测方式。也就是UNITY中的Box Collider和Capsule Collider。简单地讲,包围盒检测法是使用一个方体或球体包围住模型,之后计算包围盒与交互对象的距离来判断是否发生碰撞。
39、当炮塔的导弹与怪物的距离到达限定距离时,进行碰撞检测,计算碰撞的距离,触发碰撞效果。守护阿拉德大陆的游戏设计与实现测试用例说明书V2.0编 制 审 核 批 准 长沙学院二零一五年五月十六日测试用例说明书1 引言1.1 编写的目的编写本文档明确游戏测试的对象、范围,纪录测试的数据和不足。为测试人员提供了测试的依据,开发人员可根据测试纪录修复游戏的缺陷和改进游戏的不足,以此达到游戏效果。本文档的预期读者有:设计开发人员:查看测试纪录,修复测试发现的功能不完善和运行有误的缺陷,及时修改,使游戏达到功能完善和性能最优,满足用户需求。测试人员:通过该文档描述的测试说明,对游戏进行相对应的测试。1.2 背
40、景a.待开发的系统的名称:守护阿拉德大陆的游戏设计与实现b.本项目的任务提出者:开发者:用户:喜爱DNF的玩家c.该项目同其他项目或其他机构的相互来往关系:无1.3 参考资料 1塔防百度百科 2张海藩软件工程导论M北京大学出版社,2009 3孟祥旭,李学庆,杨承磊人机交互基础课程(第2版)M北京:清华大学出版社,2010.7 4严蔚敏,吴伟民数据结构(C语言版)M北京:清华大学出版社,2007 5王立福,孙艳春,刘学洋软件工程(第三版)M北京:北京大学出版社,2009.10 6Visual C# 2010从入门到精通/(英)夏普著;周靖译。北京:清华大学出版社2010.8.1 7白以恩.计算机
41、网络基础及应用M.哈尔滨:哈尔滨工业大学出版社,2000. 8Unity 3D游戏开发技术详解与典型案例/吴亚峰,于复兴 著。北京:人民邮电出版社,2012.11.01 9胡伟Android系统架构及其驱动研究J 广州广播电视大学学报,2008.8(1) 10Unity 4.X从入门到精通/Unity Technologies 主编。北京:中国铁道出版社,2013.112.测试用例2.1 被测试对象的介绍测试对象为守护阿拉德大陆的游戏,这是一款塔防类游戏,玩家用鼠标左键和鼠标移动来建造防御塔和选取建塔地址,玩家可以通过建造防御塔来消灭怪物来获取积分,每只怪物的分数为2,玩家一定要守住阿拉德大陆
42、,阿拉德大陆生命值为10,当生命值为0时游戏失败哦。通过测试来发现游戏的功能能否实现。2.2 测试范围与目的测试范围如下:开始游戏界面:点击按钮,看看是否能进入游戏场景。游戏场景界面:这是本游戏最关键的界面,测试是否能再道路上建造防御塔,测试怪物的积分是否正确,测试怪物是否按照设定的路线前进,测试怪物是否在正确的地方出怪,测试怪物的波数等。游戏成功界面:测试当十波怪物全部消灭是是否会显示成功界面。游戏失败界面:测试基地生命值为0是是否会显示出重开界面。2.3 功能测试用例对开始游戏界面功能进行测试,验证界面是否正确显示,测试其按钮的界面切换功能能否实现,如下表2.1所示:表2.1 开始游戏界面功能测试用例测试用例名称开始游戏界面功能测试测试目的验证打开游戏是否能成功到达开始游戏界面功能特性适合性、准确性、操作性预置条件运行游戏参考信息需求规格说明书