基于U3D的3D像素解密游戏的设计与实现.docx

上传人:封****n 文档编号:96763614 上传时间:2024-03-19 格式:DOCX 页数:40 大小:15.32MB
返回 下载 相关 举报
基于U3D的3D像素解密游戏的设计与实现.docx_第1页
第1页 / 共40页
基于U3D的3D像素解密游戏的设计与实现.docx_第2页
第2页 / 共40页
点击查看更多>>
资源描述

《基于U3D的3D像素解密游戏的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于U3D的3D像素解密游戏的设计与实现.docx(40页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、摘要自从90年代以来,中国进入了一个全新的时代,电脑游戏的出现,使得人们的娱乐方式更加多样化。各式各样的电脑游戏在90年代百花齐放,90年代更是成为了中国单机游戏的巅峰的年代,许多新颖的游戏开始出现在大众的眼前。随后3D技术的出现,更是让游戏不再局限于2D画面,3D游戏让玩家们拥有一种更加真实的空间代入感。我的世界的问世,将像素风格游戏带入一个全新时代。此次设计的游戏,便是一款3D像素解密游戏。本文主要介绍以Unity3D引擎工具开发游戏的设计流程以及各个环节的实现。通过Qubicle软件制作出本游戏的所有模型资源,配合镜头设计呈现出别样的三维像素风格。最终开发出交互性强、体验感强,画风独特的

2、像素解密游戏。游戏实现了多剧情,多线索,多谜题,增强趣味性。装备配置,背包储存等功能实现了游戏的可玩性。逼真的场景设计满足了玩家身临其境的需求。支持中英语言的切换使玩家们能够更快,更清晰的了解游戏。关键词: 3D技术;3D像素;解密AbstractSince the 1990s, China has entered a new era. The advent of computer games has made peoples entertainment more diversified. All kinds of computer games blossomed in the 90s, an

3、d the 90s became the peak of Chinas stand-alone games. Many novel games began to appear in front of the public. With the advent of 3D technology, the game is no longer limited to 2D graphics. 3D games allow players to have a more realistic sense of spatial substitution. The advent of Minecraft has b

4、rought pixel-style games to a whole new era.The game designed this time is a 3D pixel decryption game. This article mainly introduces the design process of developing games with Unity3D engine tools and the realization of each link. Through Qubicle software, all model resources of this game are prod

5、uced, and a different three-dimensional pixel style is presented with the lens design. Eventually developed a pixel decryption game with strong interactivity, a strong sense of experience, and a unique style of painting. The game realized multiple plots, multiple clues, multiple puzzles, and enhance

6、d fun. The equipment configuration, backpack storage and other functions realize the game playability. The realistic scene design meets the immersive needs of players. Supporting Chinese and English language switching allows players to understand the game faster and more clearly.Key words: 3D Techno

7、logy; 3DPixels; Decrypt目录第1章 绪论11.1 开发背景及意义11.2 论文架构1第2章 游戏开发原理32.1 游戏引擎介绍32.1.1 Unity 3D软件概述32.1.2 JetBrains Rider 201932.2 C#介绍42.3 系统开发运行环境4第3章 游戏设计53.1游戏基本介绍53.2需求分析53.2.1 初始界面53.2.2 游戏场景53.3 场景模型的搭建63.3.1游戏初始界面的设计63.3.2游戏场景设计83.4场景以及人物说明93.4.1游戏场景功能介绍9第4章 游戏实现104.1 游戏界面设计104.1.1 游戏场景界面风格设计104.1

8、.2 游戏视角设计104.2 游戏人物设计114.2.1 游戏人物模型及角色设定设计114.2.2 人物移动设定134.2.3 敌人AI设计154.3 游戏功能设计174.3.1 背包功能设计174.3.2 武器功能设计184.3.3 交互功能设计184.3.4 解密功能设计194.4 游戏界面制作204.4.1游戏UI界面制作204.4.2游戏场景界面制作224.5 游戏功能制作234.5.1语言切换功能制作234.5.2 物品3D预览功能制作244.5.3 交互场景功能制作264.5.4游戏音效制作274.6 游戏的打包和导出28第5章 游戏测试295.1 运行测试295.2 界面测试30

9、5.2.1 UI界面测试305.3 玩家测试305.4 功能测试325.4.1 语言切换功能测试325.4.2 3D模型预览功能测试325.5 系统测试325.5.1 背包系统测试325.5.2 武器系统测试32第6章 结论336.1 工作总结33参考文献34致谢35广东东软学院本科生毕业设计(论文)第1章 绪论1.1 开发背景及意义人类在不断发展,游戏也在随之进步,不停地创新改革。从一开始的小霸王游戏机,简易的手机贪吃蛇游戏,到后来的电脑端单机游戏,到网络游戏。在这不断更新的时代中,像素游戏都是最有代表性的一种游戏类型,甚至可以说,是像素游戏打开了游戏时代的大门。曾经流行的水管道工人超级马里

10、奥,魂斗罗,坦克大战等等,都是非常经典的游戏,在它们所处的年代可谓是热门游戏。尽管在追求高画质游戏的现在,这些像素游戏仍然是不俗的存在。随着游戏画质要求的不断提高,电脑的支持要求也相应的飞速提高。然而大型游戏的流畅运行,对于电脑的配置要求过高,导致许多电脑的硬件无法跟上,出现卡顿的情况。而像素游戏最大的特点就是画质简单,这为游戏本身减轻了量级。像素游戏舍弃了华丽的画面和绚丽的特效,更加注重的是自由度和游戏性,为此吸引了不少玩家的热衷支持。说起像素游戏,很多人第一时间想起的,都是平面像素。后来Minecraft“我的世界”的风靡,开始有了三维像素游戏。在“我的世界”游戏中,玩家可以在三维空间里做

11、两件事,建造与破坏,就像是在玩乐高积木一样。玩家可以通过自己的想象力,搭建出一切想要的东西。这款游戏短时间内就登上了游戏的热搜榜,还获得了“最受观众欢迎奖”等大奖。三维像素游戏,不仅具备了普通平面像素游戏的简洁画质,轻量流畅。也不乏游戏的代入感和操作感。三维像素游戏绝对称得上开发独立游戏的不二之选。1.2 论文架构论文分为六章,结构安排如下:第一章 绪论,介绍游戏的发展和现状,以及选择该毕业设计课题开发的目的意义和本论文的结构安排。第二章 开发环境及相关工具介绍,选取本次毕业设计所用的开发软件。主要介绍开发环境、编码工具以及所使用语言的介绍。第三章 游戏设计及基本需求分析,对此次开发的游戏进行

12、整体思路设计,分析基本需求,包括界面需求,场景需求及功能需求的介绍。第四章 游戏实现,从零开始开发游戏,主要介绍游戏中人物和场景的设计制作过程,以及主要的游戏功能的实现方法。最后打包导出制作完成的游戏。第五章 游戏测试,游戏制作完成后,对游戏进行多次测试。包括游戏的运行测试、界面测试,以及各项游戏功能的测试。第六章 结束语,论文的最后一章。对本次毕业设计过程进行工作上的总结,包括在此次开发制作过程中学习到的宝贵的知识,以及对日后工作颇有增益的开发经验。第2章 游戏开发原理2.1 游戏引擎介绍2.1.1 Unity 3D软件概述Unity3D是一款由Unity Technologies研发的跨平

13、台2D / 3D游戏引擎,是一款能够让用户非常轻松地创建如三维视频游戏,实时三维动画等类型互动内容的多平台的综合型游戏开发创作工具9。是当前比较全面专业的游戏引擎。其优势在于入门非常简单,无论是从下载安装,或者是在界面辨识应用,游戏开发以及调试发布方面,都非常容易上手。低端硬件亦可流畅运行广阔复杂的场景5。是游戏开发领域一个轻量级的游戏开发工具。游戏脚本基于Mono,一个兼容于.NET Framework 2.0的跨平台开源包,因此程序员可用JavaScript、C#或Boo加以编写。同时,Unity3D有自己的Asset Store,可以在商店中获取到大量的优秀资源使用,也提供了很多免费资源

14、供用户开发。是一个开发效率非常高的游戏引擎。2.1.2 JetBrains Rider 2019JetBrains Rider 2019是一款快速强大的C#编辑器 ,可用于在Windows、Mac和Linux上进行Unity开发。 以无与伦比的2500多项智能代码检查和重构,Rider增强您的C#体验,使您更加迅速编写零误差的代码。JetBrains Rider有内置的Unity支持,可以在Unity中设置JetBrains Rider为默认的文本编辑器,这样在Unity中只要双击C#脚本或者右键Edit,就可以直接启动JetBrains Rider进行代码编辑。集成的双向通讯,让用户能够在J

15、etBrains Rider中完成启动,暂停等操作,JetBrains Rider与Unity3D有着相同的视图按钮以及相同的行为操作,让用户能够轻松的辨别和使用。2.2 C#介绍C#语言是基于.NET框架支持的一种完全面向对象的,类型安全的编程语言。是在C和C+的基础上重新构造,语法与C+和Java都比较相似,所以大部分程序员很快就可以上手使用,也是Unity3D开发的首选语言。C#语言几乎综合了目前流行的所有高级语言的优点,提供一种语法优雅,功能完善而又容易使用的外在表现形式。2.3 系统开发运行环境操作系统:Microsoft Windows 10开发环境:Unity 3D 2018.3

16、.6f1 (64-bit)开发工具:JetBrains Rider 2019.1.1开发语言:C#语言 第3章 游戏设计3.1游戏基本介绍游戏的背景设计发生在70年代末一个小镇上,一个青年在调查失踪案的路上遇到困难,在向福利院求救之后,却发现福利院潜藏着许多不为人知的秘密,在重重谜题下找到真相,逃出福利院。游戏为第三人称的鸟瞰视角,玩家可以用过键盘的W、S、A,D键控制玩家移动,也可加速跑动或者轻步慢走。获取物品后可以在背包中查看或者使用,获得武器后可以持有并通过鼠标进行攻击。游戏中的玩家为一滴血制,只要受到攻击就会死亡,而敌人的血量不同,越后的关卡的敌人血量越高。游戏中也设计了一些机关道具,

17、只要玩家触碰到机关,就会出现致命性武器,玩家就会死亡并宣告游戏失败。游戏设定为像素解密游戏,所以核心机制就是解密,需要通过场景中的各种线索提示和物品的使用,加上回忆和思考去解开层层谜题,打开前进大门,逃离出去。3.2需求分析3.2.1 初始界面游戏需要一个主要的界面来引导玩家开始游戏和退出游戏,游戏暂停时需要一个暂停的界面,游戏中获取的物品,可以通过背包查看,所以需要一个背包的界面。整个游戏场景界面,是在一个福利院内,玩家在界面中心进行移动。当玩家失败的时候,还需要一个失败的界面告诉玩家游戏结束,并给玩家选择重新开始或者返回主界面。3.2.2 游戏场景场景是Unity3D程序的基本组成单位,任

18、何一个U3D程序都是由若干个场景组合而成,程序通过脚本在这些场景之间转换9。游戏在第三人称视角中控制主人公在场景中移动,根据剧情走向,玩家不断的去寻找场景中的线索和有用道具来解开谜题,通完下一个场景。场景中会有一些可以查看的物品,作为线索。还有一些可以拾取的物品,为可使用的道具,或者是武器。游戏场景中的门大多是需要道具去打开,需要玩家去寻找办法。场景中会有敌人一直在巡逻,一些房间或者通道可以躲开敌人的视野范围。玩家达到指定场景,会触发剧情,推动游戏的进行。玩家失败的时候会显示游戏结束。3.3 场景模型的搭建3.3.1游戏初始界面的设计主游戏界面的背景设计在开场的场景之上。主界面中应该包括以下按

19、钮和功能:(1)新游戏New Game:该按钮用来开始新的游戏,玩家只需要通过鼠标来点击该按钮,就可以开始新的游戏。(2)继续游戏Continue Game:该按钮在没有游戏存档的情况下是没有的,当游戏有存档时候,会显示该按钮,供玩家点击,加载上次玩家存档的游戏点。(3)设置Set:该按钮点击后会切换到游戏设置界面,玩家可以在游戏设置界面修改语言设置,一共有两种语言供玩家选择,分别是简体中文和英文。然后点击返回按钮就可以回到主界面。(4)退出Exit:该按钮点击后会关闭整个游戏。大致效果如图3-1。图3-1初始主界面设计图玩家在游戏中按下ESC会切换至暂停界面暂停界面中应该包括以下按钮和功能:

20、(1)继续游戏:点击后回到暂停前状态,继续游戏。(2)重新加载:点击后游戏回到上一个存档点的位置,重新开始游戏。(3)回到主界面:点击后游戏退出到主界面状态。(4)退出:该按钮点击后会关闭整个游戏。大致效果如图3-2。图3-2暂停界面设计图玩家死亡后会显示失败界面失败界面中应该包括以下按钮和功能:(1)重新开始:点击后游戏回到上一个存档点的位置,重新开始游戏。(2)回到主界面:点击后游戏退出到主界面状态。大致效果如图3-3。图3-3失败界面设计图3.3.2游戏场景设计游戏场景是我们用进行游戏的场景,其中应包括以下对象:(1)房间:在福利院内会有各种房间,玩家会在各个房间去寻找线索和物品。进入各

21、个房间主要通过房门,房门有锁住和未锁住两种状态。玩家需要通过物品或者线索进行解密来获取打开房门的“钥匙”。(2)可观察物品:当玩家靠近这些物品时,可以通过按键交互来查看物品具体的样子或者信息,从而获取有用的线索。主要线索有报纸、病例报告,突兀的物品等等。(3)可拾取物品:玩家靠近并可拾取这些物品,放入背包中,在正确的位置使用物品,会有一定的效果出现。例如第一关中,玩家翻越高窗进入其他房间时,需要借助玩家在大厅拾取到的椅子来完成。(4)武器:玩家可以拾取,并选择使用或收回,使用时可以攻击敌人。不同的武器的威力也是不同的。游戏越往后进行,玩家可以拾取到的武器威力越大。玩家不仅可以从游戏场景中拾取武

22、器,也可以是从击败的敌人身上获取。(5)敌人:场景中会有一些敌人,在走廊上或者房间巡逻,在玩家进入敌人视野范围内的时候,敌人会进入警戒状态,攻击玩家。但敌人失去玩家视野,并持续一小段时间后,会重新恢复到巡逻状态。敌人还可以发现非视野范围并且在短距离内发出脚步声的玩家。对各个对象在游戏场景中的设计安排(如图3-4)。图3-4第一关游戏对象设计安排图3.4场景以及人物说明3.4.1游戏场景功能介绍玩家的移动与攻击:通过“W”,“S”,“A”和“D”来控制玩家的移动与转向,配合“左Shift”可以使玩家奔跑,配合“左Ctrl”可以让玩家轻声慢走。“鼠标左键”在持有武器的情况下会进行攻击。场景物品:物

23、品分布福利院的各个位置,需要玩家去寻找,拼凑成线索或使用来解锁房间。敌人:敌人在没有玩家视野的时候会自动巡逻,在发现玩家的时候会跑向玩家,靠近玩家会开始攻击,再次失去玩家视野的时候会解除戒备,恢复巡逻状态。总体需求与功能如图3-5所示。图3-5游戏需求结构图总体人物设计需求分析UML图,如图3-6所示。图3-6需求分析代码UML图第4章 游戏实现4.1 游戏界面设计4.1.1 游戏场景界面风格设计因为游戏的设定是在70年代末,所以场景的风格也应该定在70年代时的风格,地面设计为比较老式的木板,墙壁、床,房门等也都是使用“木制”的素材,使整个画面看起来更有年代感(如图4-1)。作为一款解密类游戏

24、,整个游戏场景设计添加了很多的房间设计,同时也将整个游戏场景设计为福利院外部,和福利院内部,内部又分为地面一层和地下两层,玩家会不断通往地下去探索到更多秘密。图4-1房间风格图4.1.2 游戏视角设计游戏相机使用透视视角,让玩家处于游戏界面的中心位置。使用官方插件CinemaChine,将主角拖到Follow中,就可以实现相机Camera对玩家的跟随(如图4-2)。图4-2实现跟随玩家移动图4.2 游戏人物设计4.2.1 游戏人物模型及角色设定设计该游戏所有的人物设计和制作,都是采用Qubicle软件进行制作(如图4-3),根据自己设计,使用像素方块将各个人物绘制出来,为了后面人物动画绑定骨骼

25、,这里我们需要把人物绘制成T-POSE模型。制作完成之后导出FBX文件即可导入Unity中,作为预制体使用。图4-3 Qubicle软件制作界面图将制作后的人物预制体拉至场景Scene中,为了人物能够和场景中的物体发生实际碰撞,我们需要给人物加上碰撞体和刚体组件(如图4-4)。为了使人物不会发生奇怪的移动和转向,我们还需要把刚体的Freeze勾选上相应的坐标轴。图4-4 添加刚体和碰撞体组件图为了实现玩家移动时的做出相应真实的动作,我们还需要为玩家添加Animator组件(如图4-5),并创建添加该人物的Controller。图4-5 玩家的Animator组件图进入Controller,将相

26、应的动画根据一定的判断条件连接起来(如图4-6),为了让动画之间满足条件时立即实现切换,需要把Has Exit Time取消勾选。图4-6玩家的动画状态机界面图整个游戏一共设计了以下几种角色:(1)主角:一个普通记者,在去调查的路上遇到麻烦,来到福利院停歇,随后发生了一系列的故事。(2)院长:一个白发的老奶奶,把玩家带入福利院,有着不可告人的秘密。(3)敌人:长相奇异的大人,分布在福利院各层巡逻,携带着武器,遇到玩家会对玩家进行致命攻击。(4)小孩:一些奇怪的小孩子,给游戏带来线索的同时,其哭闹会给游戏增加一定的难度。(5)制药师:游戏的关键人物之一,在途中出现给予你帮助和一定的指示。(6)制

27、药师弟弟:一个我们要拯救的人。(7)院长儿子:一个神秘的人,出现的时候将游戏推向最终的高潮阶段。4.2.2 人物移动设定玩家的基本移动为键盘的“W”、“S”、“A”,“D”,分别对应上下左右方向。通过Input.GetAxis()来检测用户是否对水平或垂直方向有输入。但用户按下移动键时,播放行走的动画,并实现相应的方向旋转和移动。同时,在玩家移动的时候,会把自身一个很大范围的碰撞体启用,即将碰撞体的enabled设置为true。碰撞到远处的敌人会被敌人发现,该设计是模拟一个脚步声的效果。玩家移动代码如下:玩家转向代码如下:同时还为人物设计了快速跑动和轻声慢走的移动方式,用户通过移动键配合“左S

28、hift”就可以实现人物快速跑动,快速跑动时切换跑动动画并提高一定的速度值。通过移动键配合“左Ctrl”可以实现人物轻声慢走,同时会将脚步声隐藏(即把自身模拟脚步声的碰撞器的enabled属性设置为false),并切换动画和降低一定的移动速度。玩家两种移动状态切换代码如下:4.2.3 敌人AI设计敌人AI设计,采用Unity的Navigation寻路系统。首先添加Navigation。这里要注意把非动态的物体都勾选上Static,然后点击Bake开始烘培出寻路的区域。下一步给敌人添加自动寻路架Nav Mesh Agent(如图4-7),将速度初始化为2,旋转速度设置为1000,让敌人的移动和转

29、向更加自然。勾选上Auto Braking,会让敌人在到达一个目标点后立刻停下来,不会有一个缓冲的暂停,缓冲的暂停可能会导致敌人在到达目的点后出现左右晃动的情况。图4-7 自动寻路架组件图实现敌人的巡逻,在场景中创建两个空物体,作为两个目标点,当敌人到达一个目标点时,停留一段时间后,修改下一个目标点为敌人的目标。敌人的视野设计思路,从敌人发射一条射线去检测玩家,当射线检测到物体的标签是“Player”,并且满足敌人和该物体的距离小于一个定值,与敌人正前方向所夹的夹角小于设定视角角度的1/2时,便判定玩家进入了敌人的视野范围中,敌人开始跑向玩家,并在靠近玩家的时候开始攻击。当玩家离开敌人视野几秒

30、后,恢复敌人的自动巡逻。敌人巡逻及视角代码如下:4.3 游戏功能设计4.3.1 背包功能设计玩家在场景中,可以通过键盘“E”键来拾取物体,这时候会显示该物品的展示界面,按下鼠标“Tab”键可以打开背包界面,通过设置Canvas下的背包子物体的SetActive来实现显示和隐藏,滚动鼠标滚轮可以查看背包中的已有物品。玩家在相应的区域内通过打开背包后使用键盘“E”键使用物品,如果使用成功,物品会从背包中移除,如果使用错误,则会自动关闭背包并显示“似乎不是这样使用”的字样提示玩家使用失败。背包使用代码如下:4.3.2 武器功能设计玩家通过拾取场景中的武器,即可拥有武器,通过键盘R键可以切换出武器,或

31、者隐藏武器,当玩家手上持有武器的时候,点击鼠标左键可以进行攻击。武器切换代码如下:4.3.3 交互功能设计游戏中的交互键为键盘“F”键,可以通过F来跟场景中的可交互物体进行交互,如查看物体,拾取物品,开关灯、抽屉和房门等。每一个可交互物体都是通过添加碰撞检测器来判断玩家是否在附近,在场景中添加Cube,然后删掉其Mesh Renderer组件,并为其添加BoxCollider组件,勾选上IsTrigger使其变成一个触发器,点击Edit Collider可调节区域的大小(如图4-8),当玩家进入碰撞检测器范围内,则碰撞检测器会检测到玩家的Tag为“Player”,这时候玩家按下“F”键就会出现

32、相应的交互效果。图4-8 场景触发器场景图4.3.4 解密功能设计本游戏作为一款像素解密游戏,解密功能是必不可少的。场景中设计了许多解密环节,游戏中许多门是锁住的,但是并没有钥匙可以开启,是需要密码或者其他方式才能打开的。这个时候需要玩家去游戏场景中寻找线索并去解开,才能通关。如福利院一层的餐厅门是密码锁,其密码是厕所墙上的清洁记录的日期时间(如图4-9)。玩家通完第二关的暗门,是大厅的书架,需要正确的摆放书架上的书籍才能打开暗门。而摆放的书序密码,就隐藏在第一层的某处。又例如第三关中解救人物需要破解进入房间门上的华容道,并将两个不同的房间墙上的时钟调整到同一正确时间,但是这个“时间”又隐藏在

33、其他地方(如图4-10)。图4-9 密码锁及其提示线索图图4-10 华容道及时钟图本游戏一共设计了三个楼层,13个解密关卡。每一个解密关卡之间又有着一定的联系。需要玩家不断的寻找线索,进行一定尝试和思考,方能解开谜题。为游戏增添趣味。4.4 游戏界面制作4.4.1游戏UI界面制作在Hierarchy面板右键添加UI-Image,然后将其设置为铺满整个画布,颜色设置为黑色并降低透明度,作为界面UI的背景色。然后相同的操作添加Text,给Text添加Button组件,在On Click中选择文本对应的点击事件(如图4-11)。图4-11 界面按钮组件图游戏主界面的背景设计在最开始游戏的一个下雪的场

34、景之上(如图4-12),开始游戏后便会直接切换镜头到游戏中,让游戏开始更加好看,增强玩家的体验。图4-12 游戏主界面图进入游戏后,按下键盘“Esc”键可暂停游戏,此时会显示暂停界面(如图4-13)。图4-13 游戏暂停界面图4.4.2游戏场景界面制作整个游戏场景界面以玩家为中心,55度的俯视视角,把整个游戏场景显示在游戏界面上(如图4-14),让整个游戏看起来更有3D的视觉效果,并且能把场景效果更好的呈现出来。图4-14 游戏场景图整个游戏场景中的物体,同人物模型的制作一样,是使用Qubicle软件进行制作。而且是根据真实的比例来绘制的,所以虽然是像素块模型,但是放到场景中,呈现出非常真实的

35、视觉效果。另外在制作过程中需要非常注意模型面的数量,避免由于面数过多而导致出现界面卡顿的问题。本次设计一共为整个游戏制作了上百种模型,并放置在场景中。由各种场景模型和线索物体模型组合成30个解密空间。为了让场景界面的更加真实,采用了点光源来做游戏场景的主要灯光,并且将Light组件的Shadow Type选择为Hard Shadows,如果没有选择shadows的模式,那么灯光会直接穿过场景中的物体。选择后场景中的物体会因为灯光的照射出现相应的阴影,使整个场景界面更像是在内室的感觉。4.5 游戏功能制作4.5.1语言切换功能制作本游戏提供两种语言选择,分别为简体中文和English(英文)。在

36、游戏主界面点击设置即可进入设置界面(如图4-15),选择想要的语言。选择语言后会加载相应的文件内容。图4-15 游戏语言设置界面图在Resources文件夹下创建两个txt文件,分别命名为“Chinese”和“English”。每行按照“:”左边为Key,右为Value进行编写(如图4-16)。图4-16 多语言翻译文本图加载要显示的文本文件,先通过换行符来分割获取每一行的数据,然后将“:”两边的数据分开,分别作为键和值存入字典中去。然后为Canvas下的Text添加脚本,输入每一个Text所对应的键的名称,加载游戏后,每一个Text文本就会通过键去获取相应的值显示出来,实现多语言的切换功能。

37、多语言功能预加载代码如下:4.5.2 物品3D预览功能制作当玩家查看物品或者获取物品的时候,会显示介绍界面,为了让玩家能够更加清楚的看到物体本身,使用3D的物体模型代替2D图片显示在UI界面上,并且玩家能够通过鼠标左键点击拖动,进行360度旋转3D模型,增强游戏体验。首先在Hierarchy中创建 Raw Image,是因为之后要将相机记录的渲染纹理Render Texture赋值给 Raw Image,用以显示3D图像。创建多一个Camera相机,在Project中创建一个Render Texture并将其添加到Camera相机下的Target Texture中,这里要注意的是Render

38、Texture的默认分辨率为256*256,所以显示3D模型的时候会比较模糊,我们需要将其修改为1024*768。把相机的Clear Flags设置为Solid Color,背景色设置为黑色。为了不影响到主相机视角,将新创建的Camera相机的位置设置在非常远的地方,并且删除新相机上的Audio Listener组件,因为场景中只允许存在一个,否则会报错。然后将3D模型添加到场景中,并且把位置设置在模型相机前(如图4-17)。为了让3D模型显示的效果更加真实,我们在相机旁添加多一个光源。图4-17 3D模型摆放位置图鼠标点击拖动物体360度旋转查看,实际上是以物体为中心,旋转相机来实现物体旋转

39、的效果。最后我们在UI界面上添加Text配合作为物品的描述性文本和图标,就完成了最终的效果(如图4-18)。图4-18 背包3D预览界面图4.5.3 交互场景功能制作玩家与场景中的主要交互为门、柜子或抽屉的开关,对话以及剧情的触发等。在Hierarchy下创建两个空物体,将两个空物体的位置分别设置在门的打开位置和关闭位置,作为门移动的两个目标点。然后再创建一个Cube,将其放置在门关闭的位置,作为碰撞检测器使用,因此需要删除Cube上的Mesh Renderer组件和勾选上Is Trigger。最后添加上脚本(如图4-19),当门无法打开的情况下,玩家去尝试打开门时,门会微微震动并提示“门上锁

40、”的字样。图4-19 门的交互方式图对话的制作比较简单,就是将Canvas下的Text存在一个数组中,然后遍历设置它们的SetActive()来显示或隐藏,通过空格键来切换对话的内容。对话实现代码如下:剧情的触发使用碰撞检测器来检测,剧情用Timeline来实现。创建一个空物体,点击Window-Squencing-Timeline,选中空物体后点击Create为空物体添加playable组件。然后开始在Timeline面板设计剧情,如物体的出现或消失,物体的移动和音效的播放等(如图4-20)。图4-20 Timeline剧情制作图整个游戏一共设计制作了5个主要剧情,如玩家开场在遭遇路障被迫留

41、宿福利院,后来发现福利院不可告人的秘密等剧情。游戏按照剧情的走向进行,玩家们需要寻找到相应的线索才能解锁剧情,进入下一步。4.5.4游戏音效制作游戏音效在游戏中起到画龙点睛的作用,优秀的音效能够极大程度上提升家的游戏体验。制作本游戏开场的大雪场景音效,在场景中创建空物体,并为其添加Audio Source组件(如图4-21)。添加音效到AudioClip中,设置音量大小,并勾选上Play On Awake和Loop,即设置为默认循环播放。图4-21 Audio Source组件图游戏人物在不同地方的脚步声也会相应的不同。例如在木板上行走,在雪地上行走或者是在石头路上行走都是有明显的区别的。这里

42、同样给人物添加Audio Source组件,并通过射线检测来实现人物在不同材质的路上行走的音效切换。音效切换实现代码如下:4.6 游戏的打包和导出点击File-Build Settings,按照加载顺序勾选上游戏场景,选择PC平台,最后点击“Bulid”按钮并选择指定文件夹即可将游戏打包导出。到处文件夹如图4-22所示。如图4-22 打包导出界面图第5章 游戏测试5.1 运行测试双击导出的游戏应用程序,点击Play开始运行游戏程序(如图5-1)。成功运行游戏,且运行起来非常流畅,没有卡顿现象。图5-1 分辨率选择界面图进入游戏界面后开始游戏,游戏正常加载运行(如图5-2)。图5-2 游戏运行图

43、5.2 界面测试5.2.1 UI界面测试进行以下界面操作的测试:(1)点击主界面“新游戏”按钮,可开始新的一轮游戏。(2)点击主界面“设置”按钮,切换到设置UI界面。(3)点击主界面“退出”按钮,整个游戏程序退出。(4)在没有游戏存档的情况下,主界面不显示“继续游戏”按钮,游戏存档后,主界面显示“继续游戏”按钮,点击继续游戏按钮,游戏从存档点开始游戏。(5)游戏中,点击键盘“Esc”,切换出暂停UI界面。(6)点击暂停界面“继续游戏”按钮,恢复到按下“Esc”前的游戏进度。(7)点击暂停界面“重新加载”按钮,加载游戏最近存档点。(8)点击暂停界面“回到主界面”按钮,游戏退出,回到主界面。(9)

44、点击暂停界面“退出”按钮,整个游戏程序退出。5.3 玩家测试测试玩家在场景中的移动,攻击,与场景进行交互等(如图5-3,5-4)。(1)使用键盘“W”,“S”,“A”,“D”键,玩家能够在游戏中上下左右走动。移动键配合使用“左Shift”键,玩家能够加速移动,并切换到跑动动画。移动键配合使用“左Ctrl”键,玩家能够慢速移动,并切换成小心翼翼的动画。(2)反复移动并同时切换加速减速的移动方式,玩家的移动速度和移动动画也能相应的做出正确的变换。(3)玩家持有武器时,点击鼠标左键,玩家做出攻击动作。(4)玩家与敌人互相攻击,当玩家受到攻击时会正常播放死亡动画,并自动游戏重开。(5)玩家靠近指定区域

45、,使用键盘“F”键能够与场景中的物体进行交互。如开关门,打开抽屉等操作。图5-3 第二关场景交互图图5-4 第三关历届院长画像走廊图5.4 功能测试5.4.1 语言切换功能测试打开设置界面,选择不同语言,界面的按键文本和其他文本会切换成选择的语言。返回并进入游戏,游戏中的文字提示,UI界面等文本,也都变成所选择的语言。5.4.2 3D模型预览功能测试进入游戏,找到物体并交互,出现物体3D模型预览界面,使用鼠标左键点击并拖动,可以各个角度旋转物体。5.5 系统测试 5.5.1 背包系统测试按下键盘“Tab”键打开背包,Esc关闭背包,没有物品时背包显示“没有东西”提示,有物品的时候显示物品并显示

46、对应的介绍。使用鼠标滚轮可以切换背包的物体,使用物体后会自动关闭背包。正确使用掉物品后,背包会相应减少该物品信息。5.5.2 武器系统测试未拾取武器时,按下键盘“R”键没有反应,点击鼠标左键没有攻击。拾取武器后,按下键盘“R”键,可以切换出拾取的武器,持有武器时点击鼠标左键会进行攻击。同时拥有多个武器时,按下“R”键可以切换。第6章 结论6.1 工作总结本文直至这里,整个游戏的开发流程就已经结束了,整个游戏开发过程包含了以下几点:了解游戏开发的时代背景,分析开发此类游戏的意义所在。思考整个游戏的整体方向,包括故事大致走向,游戏风格定位,人物设计,游戏功能需求等。游戏开发的实际过程,将自己的思路想法记录下来,通过Unity 3D引擎和JetBrains Rider 2019的结合进行游戏的开发,一点点实现出来。游戏制作完成后,对游戏进行多次优化并测试,确保发布后玩家的游戏体验。在一开始的时候,对于制作一个什么样类型和风格的游戏,是非常迷茫的,但是在吴志达老师的指导下,最终选

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 期刊短文 > 信息管理

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁