基于Unity3d的潜行游戏开发.docx

上传人:b****3 文档编号:1373502 上传时间:2022-10-21 格式:DOCX 页数:37 大小:3.22MB
下载 相关 举报
基于Unity3d的潜行游戏开发.docx_第1页
第1页 / 共37页
基于Unity3d的潜行游戏开发.docx_第2页
第2页 / 共37页
基于Unity3d的潜行游戏开发.docx_第3页
第3页 / 共37页
基于Unity3d的潜行游戏开发.docx_第4页
第4页 / 共37页
基于Unity3d的潜行游戏开发.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

基于Unity3d的潜行游戏开发.docx

《基于Unity3d的潜行游戏开发.docx》由会员分享,可在线阅读,更多相关《基于Unity3d的潜行游戏开发.docx(37页珍藏版)》请在冰豆网上搜索。

基于Unity3d的潜行游戏开发.docx

基于Unity3d的潜行游戏开发

基于Unity3d的潜行游戏开发

毕业设计论文

课题名称

基于Unity3d的潜行游戏开发

系部

计算机工程系

专业

计算机科学与技术

班级

T1123-2

学号

20110230204

姓名

杨吉乾

指导教师

吴文欢

2015年5月20日

摘要

随着计算机技术的不断发展,游戏制作也慢慢成为社会上不可或缺的一部分,游戏一方面能够给玩家带来生活上的放松,另一方面也是对现实中某些场景的夸张和放大,各种各样的游戏能给玩家带来不同体验,深受广大群众的喜爱,市场需求量很大,因此对游戏的开发和研究也显得很有意义。

而在一系列开发引擎中,Unity3D游戏引擎主要用来制作3D游戏,能够给玩家带来很真实的感受和非常不错的游戏体验,与此同时也能做出效果很好的UI界面,学好Unity3D在未来无论是3D网页的开发还是虚拟现实都会起来不可估量的作用,而本次课题就将通过Unity3D做出一个效果不错的游戏。

本次课题做一个潜行类游戏,主角需要避开敌人、红外线、摄像头的检测,拿到钥匙到达指定目的地,就像军事行动深入敌后。

在整个游戏设计过程中会用到一些数学知识,会用到Mecanim动画系统,会用到状态机,会用到自动导航系统,也要求设计者有很强的逻辑思维和一定的审美标准,也需要对游戏引擎有较为熟练的使用能力。

而在界面的搭建上又需要用到UI知识,懂得如何通过视觉魔术让3D模型显示在2D界面,又能让玩家从2D界面感受3D模型的3D效果,对设计者来说是具有一定的挑战和锻炼意义。

开发的游戏有一定的可玩性,可以满足很多玩家的娱乐需求,也可以用来当作二次开发的模型,做出难度更高、涉及元素更多元化、更复杂的市场游戏,因此,本次课题的研发不仅具有学习研究意义,也有一定的市场价值。

关键词:

Unity3D游戏;潜行游戏开发;Unity3D技术应用

第一章绪论

1.1开发背景及意义

随着计算机的不断普及,各种各样的应用也如雨后春笋层出不穷,而伴随着人们生活水平的日益提高,游戏也变成了人们生活中不可或缺的调味品。

做游戏自然离不开开发引擎,Unity是由UnityTechnologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。

Unity类似于Director,Blendergameengine,Virtools或TorqueGameBuilder等利用交互的图形化开发环境为首要方式的软件,其编辑器运行在Windows和MacOSX下,可发布游戏至Windows、Mac、Wii、iPhone、WindowsPhone8和Android平台。

也可以利用Unitywebplayer插件发布网页游戏,支持Mac和Windows网页浏览。

它的网页播放器也被Macwidgets所支持。

除此之外,Unity在虚拟现实中也可以得到广泛应用,本次课题就是想通过主流市场游戏的形式来熟悉和了解Unity的相关技术操作,从而在未来能够在一切都向3D发展的大趋势下游刃有余。

1.2国内外研究现状

90年代初国外的3D游戏就已经开始起步了,第一部3D第一人称射击游戏是美国的卡马克的《重返德军总部》。

国内3D游戏则起始于2003年,相较于国外的3D游戏开发起步要晚了很多,虽然国内大的游戏公司和团队也开发出了自己的引擎,做出了《古剑奇谭》系列,《仙剑奇侠传》系列的游戏,但相比较国外的《魔兽世界》、《模拟人生》等国际游戏大作,无论是从游戏开发理念上还是技术支持上都还有不可逾越的差距,导致大量的财富资金流向国外。

而随着时间的推移,手机也越来越智能化,现在的手机可以说比十几年前的电脑更加强大,也越来越多的应用出现在了手机上,游戏也是不可或缺的一部分,但是不同语言开发工具开发的产品想要移植到手机上需要花费巨大的代价,成本太高,操作很复杂,国外的一款游戏引擎完美的解决了这个问题,那就是Unity3D。

对于Unity3D,国内对其的研究还处于起步阶段,所以我们认真的学习国外的优秀游戏引擎,熟悉其操作,对以后自主研究符合自身需求的引擎有很大的参考价值。

1.3本课题简介

本课题开发一个潜行类的游戏,其中游戏主角将小心的潜入敌人的大本营,通过敏捷的身手,机智的头脑找到所有的电脑控制台关闭所有的激光红外线,在行进过程中需要躲避所有的摄像头检测,尽可能的避免机器人的发现,在被发现后能逃过所有机器人的追捕,最终拿到钥匙进入电梯后从容离开。

在游戏开始会有关于游戏的操作控制说明,也可以选择不同的关卡。

进入游戏后,机器人会进行自主巡逻,主角需要合理的利用潜行,避免被机器人听到脚步声后前来追击,合理的利用地形是制胜的关键,请注意不要碰到红外线,一旦玩家被发现,所有巡逻机器人会前来对你进行围剿,这个时候就将是显示你高超的智商的时刻,冷静、沉着的应对,找到合适的方法,玩家也可以躲避追捕化险为夷。

第二章Unity3D游戏引擎的介绍

2.1API接口

API是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

Unity3D就有一套自己的API函数库,通过这些API函数,开发人员可以很方便的实现项目的初始化,功能模块的每帧调用,如何进行触发检测并进行触发事件的响应,如何判断是否进入触发区,是否在触发区,是否离开触发区,如何实现拖动事件的响应等等。

2.2.物理引擎

任何一个游戏的设计都必须有其物体特性的合理性,这样才能显得真实可信,在Unity3D中为开发人员提供了大量的组件,可以对对象进行渲染,颜色的透明度、法线贴图、平行光、点光源、图片、文字、声音、动画、材质等一系列组件可以让人产生很逼真的视觉效果,而在物理特性上添加的刚体、碰撞器等组件,可以实现对象受到重力、摩擦力、空气阻力等自然物理特性的影响,而爬坡的坡度设定,碰撞后的一切物理变化,逼真的体验让你觉得这就是一个现实中的物体。

可以说Unity引擎就是一个组件编程的引擎,整个开发过程就是一个从无到有的组件添加,对象的物理特性Unity一般都封装好了,只需要找到合适的组件进行添加,合理控制其属性即可,而行为特性就是脚本,通过代码的逻辑操作进而实现对象的一系列活动事件。

第三章游戏的主界面设计

当一进入游戏,就将会跳转到开始界面,在该界面中你可以看到游戏主角的一个静止状态的动画,上面写有游戏名称,在右上方有一个游戏的标志,左下方的是声音选项按钮,点击后会进入声音面板。

在开始界面里可以进行鼠标的拖动,用来实现不同的几个界面的滑动效果,图3.2即为游戏的说明界面,在里面描绘了主角和机器人在四种各不同场景下会出现的情形,图3.3则是告诉你游戏如何进行控制,又如何取得胜利,图3.4则是关卡选择界面,可以选择不同的关卡。

3.1界面总体效果

整个游戏界面用的是UGUI技术,在整个开发过程中会用到panel组件(作为容器存在,用来存放其它组件,并可添加图片当作背景存在),image组件(用来添加图片,可以用作logo或者按钮等的背景),button组件(作为按钮存在,在其上可以添加点击事件),text组件(用来显示文本信息),slider组件(是一个滑动条,滑动条有一个数值,通过滑动事件同步该数值可以控制音量大小,也可以控制主角血量)。

3.1开始界面3.2场景说明界面

3.3游戏控制界面3.4关卡选择界面

3.5声音控制界面

3.1游戏开始界面

当玩家开始重新玩一次游戏时,会进入游戏开始界面,如图所示:

实现游戏开始界面的主要步骤为:

1.首先在Hierarchy面板建立一个Panel,用来作为对象的载体,给该面板拖拽一个Sprite图片,注意一般图片的类型为texture,选中该图片,更改TextureType的类型变成Sprite即可,如图3.6。

3.6图片属性

 

2.在该面板内添加一个文本组件,在文本域写上标题Stealth,调整字体大小颜色位置字体等信息,把文本框拖到合适的位置。

3.在界面右上方添加一个图片组件,然后拖一个合适的图片到该组件作为Logo,注意调整锚点位置,方便屏幕自适应,如图3.7。

3.7锚点图

4.在左下方添加一个Button控件,在其背景中拖动一个合适的背景图片进去。

然后创建一个空对象,用来挂载面板控制脚本,脚本主要实现的是对声音面板动画状态机里面的标志位进行修改,实现在不同条件下不同动画的播放,这里我将通过两个函数,分别对动画状态机里面的标志位进行不同修改来实现不同动画的状态转换,当状态机里面标志位“DisplayAudioSetting”为真的时候就会播放声音面板的显示动画,为假的时候就会播放隐藏动画。

在图3.8所示面板添加事件,然后把该对象拖进去即可产生按钮事件,点击后会调用对应的函数进行事件的响应。

3.8Button点击事件图

5.添加一个主角,拖动主角模型到合适的位置,在Project面板中给主角添加一个状态机,Create->AnimatorController,然后把主角的静止动画添加进去,如图3.9。

在主角的对象上添加一个Aniator组件,然后把状态机拖进去,运行即可播放主角静止动画。

3.9主角静止状态机

3.2声音控制界面

1.添加一个Panel组件作为各组件的载体,给其添加一个sprite图片作为panel的背景存在。

2.添加2个text组件,用来显示文字,分别写上音效、音量,将其放置到合适位置,调整锚点位置。

3.添加两个slider组件,用来控制声音的大小,在其子对象background上改变颜色为黑色,添加一个空对象用来挂载声音文件,命名AudioController,在其上添加2个声音组件AudioSource,把对应的声音文件拖放进去,然后添加一个AudioListener,用来监听场景中的声音,添加一个脚本,用来控制声音的大小,在控制过程中实现将滑动条的数值实时更新赋值给声音组件声音大小的数值,声音组件的大小值为零到一,属于百分比,滑动范围同样设置为零到一,然后调用Update函数,此函数每帧都会执行,一秒大约执行60帧,基本可以满足大部分应用实现实时更新效果,如此即可满足声音大小和滑动比例一致。

4.添加一个Button组件,用来控制声音面板的隐藏,选择声音面板,点击Window->Animation,然后出现3.10所示图,该面板是用来自行制作动画效果的,可以通过设置在不同帧的时候对象的位置、旋转等信息来进行录制后连续播放,实现放电影一样的效果,在该面板中设置两个帧动画,调节该面板的位置,实现效果一个为隐藏(把面板拖到摄像机视野外),一个为显示(把面板拖到摄像机视野内),在声音面板上添加Animator组件并把该动画放进去,在Button上添加点击事件,监测到点击后会调用相关函数控制状态机中标志位的值,进而改变状态实现显示或者隐藏,如图3.11.

3.10声音面板帧动画设置图3.11Button点击事件图

3.3场景说明界面

1.在左上方添加3D模型,一个为机器人,一个为主角,调整好位置放置,给主角添加动画状态机,将其跑动动画放入,然后给主角添加Animator组件,拖入该动画状态机,注意查看该动画,需要修改部分属性,固定跑动使其不产生位移,如图3.12。

在其下方合适位置添加text组件,附上文字说明。

3.12Run动画设置

2.在其右上方添加模型,并给主角添加上潜行动画,具体方式可参照跑动设置,在其下方添加文件说明。

3.在其左下方添加模型,同时给主角和机器人添加跑动动画,并附上文字说明。

4.在其右下方添加模型,给机器人添

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1