




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、湖北民族学院综合课程设计项目名称:Rpg游戏我的奇妙之旅专业:数字媒体技术班 级:学 期:大三成 员:姓名学号胡芳惠031341302裴王杰031341315唐青031341326数字媒体技术专业制2016年 7月#/ 19第一章项目概述第二章项目研究内容第三章项目关键技术第四章项目实验测试第五章项目结论参考文献5/ 19第一章 项目概述本项目是基于unity 3D平台开发的三维的RPG(冒险类)游戏: 英文名称为 the miraculous journey”,又称为“我的奇妙之旅”。 这是一个通过玩家控制主角的行走、攻击、拾取,打败怪物、获取 资源以便通关进入下一个关卡继续冒险的游戏,所以
2、本游戏是一个 偏生存类的游戏,需要玩家通过理性的分析是否去攻击怪物,而去获得最终的胜利。和其他unity 游戏相比,我们更注重玩家的体验,比如控制主角的动作的连贯性,技能释放的特效华丽及合法性等等,而作为一个3d 类的游戏,我们采用第三人称视角去展示主角的的视角,让玩家不容易出现纯3d 视角带来的不适,可以让玩家更快的去适应整个游戏的风格。总的来说,我们小组所做的这款游戏集合了我们组内所有成员对以前所玩游戏的不足之处都加以改进,让游戏更加适应更多的玩家。本文中所述的游戏项目开发工具是Unity 3D自带的开发工具,叫做 MonoBehaviour,选择的开发语言是 c#。项 目的开发过程主要分
3、为前期、中期和后期。前期需要与导师、组员之间进行协调沟通,确定好游戏开发的类型为RPG冒险类游戏,然后组员之间对游戏的开发进行框架设计、游戏规则确定、游戏代码理论设计等前期的设计工作。中期为游戏具体的开发环节,要根据前期的设计要求,查找好素材资源,包括游戏场景、游戏主角原型、NPC原型、UI素材以及音效等资源等,然后对游戏进行场景搭建、功能实现、UI 设计、添加音效等操作来实现游戏的开发。在后期需要对已经制作好的初级游戏进行不断的测试,找到并完善游戏中存在的BUG,最后将游戏发布出来。第二章 项目研究内容在本次的综合课程设计中,我们小组设计的这个RPG冒险类游戏的主要游戏规则是:主角寻找水源,
4、躲避并攻击怪物来在游戏场景中延长生存时间,当水源和生存时间达到规定后在魔法阵中就可以进入下一关卡的游戏,中途主角可能会被怪物攻击死亡也会因为缺少水源而死亡。所以在游戏的制作过程中需要小组成员完成的功能和模块琐碎而复杂,总体概括起来包括以下部分:1 .游戏场景的搭建:在游戏的开始,我们需要通过导入素材资源搭建好整个游戏的两个关卡场景,给场景添加好灯光、天空等。2 .游戏角色的创建:在整个游戏中,包括两个游戏角色,分别是主角和怪物,在创建游戏角色的过程中,首先要对导入后的游戏角色模型进行优化,使其适应游戏场景的运行;其次,要对游戏角色的动画系统进行设计,主角的动画系统包括了idle、 run、 a
5、ttack、 death四个状态之间的转换,怪物的动画系统相对简单,包括了 walk、 die、attack 三个动画状态。3 .角色的控制实现:角色的控制主要是主角控制,怪物的控制会相对简单一点,我们给没给怪物创建了一条路径,怪物会沿着不同的路径不断地巡逻,发现主角会自动进行追击。主角的控制需要在游戏运行是通过玩家的手动控制,对于主角的移动我们采用的是通过鼠标点击屏幕控制角色运动的方式,然后对给摄像机添加一个跟随脚本,使得游戏镜头会一直跟着主角移动,实现第三人称游戏视角。4 .任务系统的实现:根据游戏的前期设计,游戏的任务系统就包括了寻找水源、攻击怪物、达到生存时间进入下一关卡。在这个阶段中
6、要实现的功能有:( 1)拾取物品的功能:通关判断主角与水源的距离来判断是否拾取,拾取后要修改物品的显示,拾取受体力值控制,当体力值不足时,需要杀死敌人获得体力值继续拾取水源;( 2)技能的实现:根据鼠标位置确定技能释放位置,按键后播放特效,以及要UI 中显示技能的冷却,技能的释放会受到主角魔法值的限制。( 3)敌人的自动攻击:敌人会根据与主角之间的距离确定一个攻击范围,超出范围后会停止攻击,就近回到路径点继续巡逻。敌人在攻击主角时会定时发功攻击,直到主角死亡。( 4)主角的初级攻击:主角的初级攻击是使用自带的武器对敌人发动攻击,可以通过按键实现攻击,不受魔法值限制,到伤害值会比较小。5 .设计
7、开始界面:在进入游戏后给游戏添加了一个镜头拉进移动的动画,然后显示游戏标题,点击屏幕继续后会出现两个按钮事件来实现游戏的加载,加载游戏后,出现一个 NPC对话框来交代游戏 的背景和主角任务。9 / 198/ 19第三章项目关键技术在游戏的制作中,我们是基于 UNTIY引擎制作而成,同时还使 用了 NGU插件制作UI界面、HUDif件制作血条跟随、fx maker插 件制作特效、Dialogue System插件制作对话等。下面将对游戏中使 用到的关键技术进行详细说明:1 .音效的实现音效主要有背景音乐、敌人死亡音乐,攻击音乐等,不同功能的音 效放在特定的对象下面,如实现背景音乐的添加,选择猪摄
8、像景, 添加一个Audio Listener 游戏组件,Component->Audio->Audio Listener ;然后在相应的游戏对象上面添加 Audio Source游戏组件,具体步 骤如下: Component->Audio->Audio Source;® q Audie Listener1也 Audio Source用辛tAudioClipW74790OutputNinie (Audia Mixer Group)G>MuteBypass EffectsBypass Listen*!' Effects LBypass Reverb
9、Zone5 一 Play On Awake/LoopQ图3-12 . NGUI插件的使用NGU插件主要是用来制作UI界面,在本项目中我们使用NUGI制 作了游戏开始界面、主角血条、敌人血条、小地图、游戏结束界面 等,使用起来十分方便。在开始界面中,通过给主摄像机添加运动 脚本实现了镜头拉近的效果,使用白色图片的缓慢消失实现场景渐 显效果,logo的加载使用了 NGUI的TweenAlpha组件制作动画,如 图:S 甘同Iph* (Script)前From。0To41Play Style口*AiiimtitiDn Cln vc/Duration1a BerndsStart Dcltir2gsnc
10、bTrtetn Grau pCJgn9r$ Tirr曰V CJm FinishedMot/. NOflffO图 3.2开始按钮需要在添加按钮后添加脚本语言实现游戏场景的加载, 使用Application.LoadLevel(l)函数即可。血条的的制作中关键部分是 要给血条添加一个UI Slider,使用组件里的value值控制血条的移动。小地图的制作需要给UI ROOTS添加一个摄像机,给主角和怪物脚下 添加不同颜色的标识,然后主角和怪物们的移动在小地图中就可以 通过标识观察。3.敌人巡逻和攻击我们首先为enem师制体写了一个脚本,在脚本中我们首先定 义一个gameobject类型的数组,然后
11、让enemy从数组的第一个点出发,依次寻路,当到达最后一个点之后,便会重新返回,当这样定义完成之后,我们又新建了一个 spawnEnem脚本来管理所有怪物, 这时在里面定义n个gameObject类型的数组,将事先定义好的点的 集合在属性面板赋值,最后通过instantiate 方法生成instantiate(enemyprefabs).GetComponent<Enemymove>().points= point1; 在生成位置点后通过代码实现敌人沿着位置点移动Vector3 endPos = pointscurrentPoint + 1.transform.position;t
12、his.gameObject.transform.LookAt(endPos);transform.Translate(Vector3.forward * speed * Time.deltaTime);敌人的追击通过判断主角与敌人之间的距离是否符合追击距离,如果符合追击距离,敌人就会追击主角并发功攻击:if(offset>0.5f && offset<=2.5f) transform.Translate(Vector3.forward*2*speed*Time.deltaTime);if (offset <= 0.5f) / 当距离小于1 时,怪物每隔三秒攻
13、击主角一次 / 播放攻击动画anim.SetBool("isAttack", true);timer += Time.deltaTime; if (timer >= IntervalTime) player.GetComponent<PlayerState>().SubHP(damage1);timer -= IntervalTime; 4.主角的移动和攻击主角的移动是通过鼠标点击控制的,通过鼠标位置向地面生成一个射线并记录射线点,然后确定主角的移动位置:Ray ray = Camera.main.ScreenPointToRay(Input.mouseP
14、osition);RaycastHit hitInfo;bool isClickGround = Physics.Raycast(ray, out hitInfo);if (isClickGround && hitInfo.collider.tag = "Ground")LookAtTarget(hitInfo.point);主角技能攻击也是使用射线来计算攻击位置的:Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);RaycastHit hitInfo;bool isGround = Ph
15、ysics.Raycast(ray, out hitInfo);if (isGround && hitInfo.collider.tag = "Ground" && State.MP>=30)GameObject go=Instantiate(skillPrefabs,hitInfo.point,Quaternion.identity) as GameObject;State.MP -= 30;foreach (GameObject enemy in gos)if (Vector3.Distance(hitInfo.point, ene
16、my.transform.position) < 2f)enemy.gameObject.GetComponent<EnemyState>().HP -= 80;if (enemy.gameObject.GetComponent<EnemyState>().HP <= 0)gos=DeleAt(gos, enemy);Destroy(go,3f);21 / 19游戏开始界面:第四章项目实验测试NPC面游戏运行图捡东西特技攻击玩家死亡第五章项目结论一个基于UNITY的RPG字戏的完成,也标志着本次综合课程设 计的工作到达尾声。在整个的设计制作过程中,我们收获了
17、许多,同时发现了一些问题,最后我将对今后的工作有更多的展望。在设计开始之前,本人大致了解了简单的游戏项目开发,但是由于没有系统地学习脚本编写,所以在动手制作游戏过程中,经常卡在脚本的编写上。例如前面设计中的路点设置的脚本就成为开发中很大的一个难题。在查阅资料和视频之后,成功将一些问题解决,但是薄弱点依然存在。同学和老师在游戏的开发中给予了本人很大 的帮助,推荐了一些有用的资料和教程,让游戏制作成功。游戏虽然制作成功,但是存在着以下问题:1. 界面不美观;2. 游戏在测试中出现较严重的卡顿和延迟现象,说明游戏优化不 足;3. 关卡较为简单,模型和素材搭配不合理;4. 功能上较为简单,可玩性不高。Unity3D 是一款非常强大的游戏开发软件,它有着强大的跨平台能力,在本设计的最后测试阶段中可以看出,同样一款游戏,仅仅因为封装类型不同,在PC平台和在手机平台可以无差别运行。这样 一来,免去了游戏在不同平台之间移植的复杂工作,同时节约了开发成本。可以预料,在接下来的一段时间,Unity3D 将成为游戏开发行业的热门工具。也就是说,学会运用这门
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 遮阳用品行业深度研究分析报告(2024-2030版)
- 《人教版小学英语音标与发音教学方案》
- 城市更新中的地下设施加固与保护方案
- 2025年家政服务公司创业方案范文
- 园艺产品营销策划方案设计
- 2024-2030全球辣木籽榨油机行业调研及趋势分析报告
- 2025-2030年中国激光平行光管行业深度研究分析报告
- 保险行业保险产品创新方案
- 2025-2030年中国液位窗项目投资可行性研究分析报告
- 医疗设备采购及维护保养合同书
- UL1650标准中文版-2019便携式电缆UL中文版标准
- 高血压课件教学课件
- 起重机械的安全管理制度(4篇)
- 2024解析:第十六章电压和电阻-基础练(解析版)
- 湖北联投集团2024校园招聘【298人】管理单位遴选500模拟题附带答案详解
- DZT0203-2020矿产地质勘查规范稀有金属类
- 中学实验室安全风险分级管控制度
- 部编版语文七年级下册第六单元《课外古诗词诵读》导学案(含答案)
- 文艺复兴史学习通超星期末考试答案章节答案2024年
- 血透患者常用药物及用药指导
- 2025届上海市静安区新中高级中学高二上生物期末检测模拟试题含解析
评论
0/150
提交评论