APP下载

基于unity3D的密室逃脱游戏设计与开发

2019-09-10李浩

中学课程辅导·教育科研 2019年7期
关键词:密室关卡界面

李浩

【摘要】  虚拟现实技术是一个融合多个领域的开发技术,受到广泛的好评,尤其近几迅猛的发展,该技术开始应用在游戏设计中。随着人们对游戏的热爱,很多真人版的游戏被开发成虚拟游戏,密室逃脱就是一个典型的例子。本文基于虚拟现实技术,利用unity 3D引擎和相关插件实现了密室逃脱游戏的设计和开发。通过对游戏的控制、场景设计和地图设置实现了虚拟实现密室逃脱游戏设计,最大限度的解决了游戏开发的局限性,提高了游戏的代入感、娱乐性和体验感。游戏氛围上采用写实的设计方法,更加注重游戏氛围的烘托,在游戏的操控上,根据日常行为习惯设计游戏的操控界面,具有操作界面简洁的特点,提高密室逃脱游戏玩家的用户体验和界面友好度。

【关键词】  unity 3D 密室逃脱 游戏设计

Abstract:Virtual reality technology is a development technology that integrates multiple fields, and has received wide acclaim, especially in recent rapid development. The technology has been applied in game design. With people's love of games, many live-action games have been developed into virtual games, and room escape is a typical example. Based on virtual reality technology, this paper uses the unity 3D engine and related plug-ins to realize the design and development of the room escape game. Through the control of the game, scene design and map setting, the virtual realization of the escape room game design is realized, which minimizes the limitations of the game development and improves the sense of substitution, entertainment and experience of the game. The game atmosphere uses a realistic design method, paying more attention to the game atmosphere. In the game control, the game's control interface is designed according to daily behavior habits. It has the characteristics of simple operation interface, and improves the user experience and user-friendliness of the room escape game player. degree.

Keywords:Unity 3D; room escape; game design

【中圖分类号】  G642               【文献标识码】  A   【文章编号】  1992-7711(2019)07-163-04

1.  引言

长期以来,人们都在现实中感受生活,体验生活。但是随着科技的发展,人们不满足于现实存在的世界,而是渴望有一个看不见的虚拟环境。人们更加渴望通过感官体验这些虚拟的东西,因此,人类一直致力于能够将想想的现象通过某种方式构建出来,随之出现了虚拟现实技术。通过该技术能够利用科技的手段将人类的想法变成现实,将创造和体验结合,让人有身临其境的感觉。随着虚拟现实技术的不断发展,也随之诞生了一些新的物理引擎,其中,Unity 3D引擎就是虚拟环境模拟和开发的重要手段之一,Unity 3D引擎具有稳定性好,效率高并且支持多平台的游戏引擎,能够较好的对景观进行模拟,广泛应用于医疗、教育、军事、生活以及一些大型游戏的开发领域。

随着游戏内容及方式不断丰富,游戏出现多种类型,包括动作类游戏、模拟类游戏、角色扮演类游戏等。随着玩家对虚拟世界好奇心的增长,游戏内容和游戏场景变得越来越丰富,出现很多逃脱类游戏。在逃脱类游戏中包括了对游戏情节发展的推理、逻辑和解密过程,并且根据设定好的游戏故事背景,通过谜题的设置推动游戏发展,来吸引更多玩家。通过虚拟交互密室逃脱游戏的设计,能够激发玩家不断搜索谜题的渴望心情,通过对谜题的破解,实现密室逃脱类游戏的通关。

为了吸引更多的玩家,密室逃脱游戏在故事情节,关卡和交互式界面等方面的设计还有待提高,从而具有更好的游戏代入感和游戏体验。因此,本文基于Unity 3D引擎来设计完善密室逃脱游戏的故事情节,关卡等游戏功能,创造一个更加吸引玩家的谜题和游戏环境,让迷失逃脱游戏更具吸引力。

2 . 基于Unity 3D密室逃脱游戏设计

2.1 unity3D引擎

unity Teehnofogies推出的unity3D是一款融合了内容互动,并且支持多平台操作的大型综合的虚拟现实产品的开发引擎。主要应用在三维的视频制作,大型游戏场景和工业仿真产品的设计和开发。是目前主流的一款虚拟现实开发引擎。unity3D和Director在功能和形式上非常相似,提供的3D oamestudio和Campaign Cartographer3都具有互联网交互以及图形化的开发模式,并且具有非常好的用户体验效果。

unity3D是一款游戏行业较为专业和主流的游戏设计引擎,主要有优点是操作简单,功能精简,工作流程简明,并且具有较大的集成化,为开发者提供了快速开发的引擎功能。下面阐述unity3D引擎的主要优点:

首先,unity3D具有图形化的开发界面,相对于其他的虚拟仿真引擎来说,unity3D具有更好的游戏模型和环境渲染的功能。通过图形化的开发环境,让开发者更好的了解游戏要实现的功能,缩短游戏开发周期,更好的满足游戏开发的需求,提高游戏的经济价值。

此外,在游戏设计和开发中,unity3D具有更加强大的地形功能,不仅自带了环境开发的功能,还可以最大限度的满足虚拟游戏场景的设计需求。丰富的地形功能,能够让玩家在密室逃脱游戏中,具有更惊险的体验,更吸引玩家。unity3D有非常强大的资源导入系统,支持很多主流的文件格式,并且可以和游戏开发的程序员最好游戏设计的协调工作,因此,具有非常好的兼容性和可扩展性能。

最后,在着色器方面,unity3D提供了更加灵活和高效的着色效果,也提供了详细的帮助文件库,支持多平台系统得到操作和多种视频多媒体文件格式,游戏场景的灯光设计和场景的色彩设计更符合人们视觉心理,营造更好的游戏氛围。

2.2 密室逃脱游戏场景设计

在虚拟的密室逃脱的游戏场景设计中,除了要有非常复杂的模型场景设计之外,还有一些相对简单的三维模型场景设计,在一些动态的模型中,我们使用unity模型编辑器自带的一些资源包即可完成游戏场景的设计。在密室逃脱游戏的场景设计中,要设计完成的模型包括,地形的创建和渲染,周围环境的覆盖,环境灯光盒子的制作等等。在密室逃脱游戏场景模型基本建立后,要对整个模型场景进行浏览,确认游戏场景设计具有可行性。

在密室逃脱场景布局和模型的设计风格中,要尽量满足游戏玩家对生活的需求。通常都是选择较为原始的时代风格,在原始时代风格的基础上加上现代风格的設计元素,能够体现出原始感和时代感。这种设计方式能够让玩家不脱离现有的生活,还能够摆脱现实生活所带来的不愉快,在游戏中环节生活带来的压力,体验游戏的代入感和娱乐性。

场景中,既有有老式的电视机,电风扇和电话机,这些设置都突出了原始时代的特点。又有现代的快节奏的生活气息。同时,加上灯光的渲染,让密室逃脱的整体场景设计符合设计需求。

在游戏的效果上,通过对物理现实和真实现实的有机结合,搭建了游戏场景的真实效果。在所使用的道具上,都是按照比例真实还原,同时也使用了很多多边形的道具形式,让现实更加的逼真,通过灯光效果的渲染,增加了密室逃脱关卡设置的主题氛围,让游戏的场景更加逼真。

2.3 密室逃脱游戏人机交互界面设计

密室逃脱游戏人机交互界面是玩家和游戏的桥梁和接口,通过特定形式和构架完成交互界面设计,让游戏和玩家可以交流,从而很好的实现数据的有效传输。可以通过用户体验来实现,同时也更加突出了游戏设计以人为本的主题设计思想。

在易用性方面,游戏玩家可以通过游戏的操作系统输入相关的游戏指令,操作复杂的游戏,让玩家更容易操作游戏。因此,游戏人机界面操作越简单,游戏的友好程度就越高。此外,游戏的操作也要具有一定的明确性,在人机交互操作过程中,能够清晰明了的知道游戏玩家要完成的任务,完成游戏玩家意向的游戏任务,帮助玩家加强游戏的运行记忆效果。最后,在游戏人机交互的设计过程中,游戏的操作系统要具有较高的可靠性,能够确保玩家正常的玩游戏,正常的操作游戏系统,增加游戏玩家对游戏的热爱度。

在密室逃脱游戏人机交互界面的设计中,应该按照如下标准完成设计。

1.要按照游戏界面设计的标注完成密室逃脱游戏界面的设计。不同游戏类型具有不同的界面设计风格,密室逃脱游戏设计要在传统游戏界面设计的基础上,更加的简洁明了,易于操作。

2.要遵循美术设计的一致性。游戏界面的设计也是美学风格的体现,因此在密室逃脱游戏主界面的设计中,要在故事背景的基础上,增加其美学设计的元素,从而调动玩家的积极性,给玩家一个不一样的视觉体验。

3.在界面设计上要更加的人性化。游戏本质上是基于硬件设计基础上的软件程序,玩家在不同的硬件平台上玩游戏,为了确保游戏的顺畅程度,要根据硬件自身的情况设置游戏的运行效率。如果游戏设计的界面很复杂,那么游戏玩家就会失去耐心,从而失去对游戏的兴趣。

因此,在密室逃脱游戏的界面设计上,要具有独特性,吸引玩家的视线。密室逃脱本身是一款逃脱类游戏,下面给出了典型的逃脱类游戏界面的设计过程。

在游戏界面的设计中,包括了道具栏、设置栏、游戏画面和游戏画面的主视区,从而可是实现密室逃脱游戏界面设计的简洁化和可操作性。在界面设计中,操作面板和工具栏会显示必要的提示信息和道具信息,为主视区游戏界面的设计提供辅助设计工具,便于玩家在游戏中获得更大的游戏面积。此外,密室逃脱游戏主要运行终端为电脑和手机,由于硬件系统的不同,显示方式等都会受到限制,在交互式设计中使用了一个相对固定的方式。所以为了避免游戏界面视觉效果的不同,在本文的设计中使用了虚拟现实技术,突破平面内容的局限性,可以让玩家置身在3D的虚拟空间中,通过全景视觉的模式查看密室逃脱游戏中的道具和场景。所以,在密室逃脱游戏的画面设计中,并没有给出任何的线索提示,因此可以最大限度的还原游戏场景的视觉效果。

2.3 密室逃脱游戏关卡设计

在密室逃脱游戏关卡的设计中,为了确保游戏启动具有完整性,因此,在游戏关卡启动时要在界面中对关卡进行选择。在启动卡的选项中,要设置游戏开始和推出两个选项的菜单,并且要根据密室逃脱游戏虚拟和显示交互的方式,完成对关卡的布局设计,可以让玩家在虚拟的环境中,通过移动的出发功能进入到相应的密室逃脱游戏关卡中,

假设密室逃脱的场景为办公室,那么在界面游戏关卡的选择上就有两个选择按键,分别是逃离办公室开始游戏和逃离办公室退出游戏。在密室逃脱中关卡设置的主要目的是要引导玩家根据线索完成游戏的目标。从游戏目标的设计角度开分析,关卡的任务都是从玩家的角度设计的。从常规的角度讲,游戏的目标和游戏完成的任务内容都是一个明确的线索。在密室逃脱游戏启动关卡的设计上,场景要根据用户的需求设计。点击开始游戏按钮,能够让玩家明确游戏关卡设计的目标和要完成的游戏任务。并且要根据密室逃脱游戏设计的人性化需求,也设计了退出游戏的按钮,让玩家在完成任务之后退出游戏,进入下一个游戏关卡。

密室逃脱游戏中,游戏关卡的设置是游戏内容的体现,能够通过关卡按照游戏规则实现通关。在游戏谜题的设计上,要按照玩家对游戏的需求进行分析,并且突出密室逃脱游戏的特点,然后把出发时间在游戏开始和结束的时候进行设置并按顺序完成出发。通过一系列的执行过程,实现密室逃脱游戏的逻辑思维过程。

在游戏进入启动关卡的环节后,玩家会置身在虚拟的关卡启动项目中,然后搜索出发开始游戏,进入关卡的选择界面。随后,玩家进入选择的游戏关卡中,然后搜索游戏的线索,但是没办法启动密室逃脱游戏。而是需要一个对应的钥匙才能够进入游戏环节。

3 . 基于Unity 3D密室逃脱游戏实现

3.1 UI系统实现

Unity 3D的UI界面中主要实现的功能包括画布、时间系统、文本、图像、和面板等功能,进入操作界面前有一个模式选择界面,在该界面中主要有三个功能选择的按钮,点击不同的按钮即可进入不同密室逃脱环境的场景中,具体的场景游戏制作和实现的过程步骤如下所示:

1.创建新的canvas文件。该文件在Hierarchy面板中创建,是整个游戏设计不可缺少的文件,也是所有的UI组件画布完成的子物体。

2.创建面板文件,该步骤在上个步骤完成之后,在当前的canvas文件下创建,并且要设置好面板的尺寸。然后创建相对应的图像文件,界面的尺寸和背景就设置完成了。

3.添加功能按钮。当面板制作完成之后,我们要在面板中添加游戏需要的功能按钮。在canvas文件下,创建新的Button按钮文件,将不同的功能按钮的文件署名修改为功能按键的名称,并且都具有三种状态,分别是初始状态,选中状态和选择后状态。通过不同颜色的设置来区分不同的按钮功能状态。并且,当选中功能按钮之后,系统也会有相应的反应。例如,我們选择图形分布按钮后,系统会调换到图形设置界面,在这个过程中,也要对功能按键进行监听,更好的实现功能界面的跳转和衔接。

3.2 密室逃脱游戏场景实现

在密室逃脱游戏中,整体可分为UI界面、游戏逻辑分析、音效处理、游戏资源和人机交互等部分。

密室逃脱应用unity3D引擎完成密室逃脱游戏虚拟环境搭建,并且密室逃脱游戏场景内部的模型是通过3D制作完成。完成后可以导入到unity3D直接调用。此外,针对于密室逃脱场景内部光源实现,使用点光源方式模拟室内光效特征。

为了让密室逃脱场景内的各个物体都具有更好的灯光照射效果,在系统设计中使用了全局光照的实现方案。unity3D中提供了这种全集光照的功能,并且可以对物体的表面进一步完成光照的渲染效果。在场景灯光效果的实现中,分别可以同时对动态和静态的光照效果进行采集,然后进行烘焙过程,开启光照计算和烘焙两种渲染模式。为了更好地让动态物体获取准确的场景内部的灯光照射信息,减少预算时间,在游戏实现中使用了优化的Light Probes。第一步需要在场景内创建一个Light Probes oroup,然后放置光探头,最后对光探头进行优化。

场景内部存在不同物体之间的遮掩,所以密室逃脱场景内灯光效果变化较大的地方要设置一个探测点,针对变化较少的地方,可以减少探测点放置的数量。

为密室逃脱游戏最终的灯光烘焙效果。和之前的效果相比,密室逃脱境内的灯光更加柔和,映衬的物体也增加了较强的立体效果。

Unity3D所提供的UI控件非常丰富,可制作出不同的游戏效果。通过画布将效果渲染到游戏中。游戏的屏幕会显示UI的层次,也是按照顺序完成UI的制作。

在密室逃脱游戏场景的实现中,UI层面要设计很多不同功能按钮控件,并且每一个按钮空间都会使用一个单独的小尺寸图片。这种小尺寸的图片会影响CPU的运行效果,从而降低密室逃脱游戏运行效率。为了有效的解决这个问题,我们使用图集的方式,通过将多个零散的小尺寸图片图集在一起,合并成一幅大图,并且要确保图片的尺寸是2的幂次,提高CPU的运行效率。在图片的显示中,通过CPU完成图片的绘制,合成一幅图片后会减少CPU传送的资源数量,因此,提高了密室逃脱游戏的运行速度和渲染的效率。

此外,在unity3D,按钮控件实现监听和处理有四种方式。在密室逃脱游戏的设计中,使用控件添加onClick()的方式完成。首先将脚本文件挂在到空间中,作为第一个组件。然后通过复写的方式添加脚本的onClick(),实现了对控件的实时监听和点击。

3.3 密室逃脱游戏人机交互界面实现

由于虚拟密室逃脱游戏具有特殊性,为了进了能的满足玩家对游戏的需求,全身心的投入到游戏中,在UI操控人机交互界面的设计中要简洁明了。根据交互界面设计的步骤,在游戏中游戏玩家不需要使用鼠标或者其他的输入设备,仅仅在进入虚拟场景内的UI界面附近时,就可以出发交互内容。在unity3D中,可以实现对交互界面的设计。

在交互界面设计实现的过程中,以“开始游戏”的实现为例描述交互界面的实现过程。

1. 要在unity3D引擎中添加新选项,并且选择的属性是用户界面/控件蓝图,然后将建立的新选型命名为“gamestart”。随后,在组件和控制蓝图设置中要找到UI蓝图,进入蓝图的编辑界面,根据密室逃脱游戏交互式界面设计方案创建按钮元素,并创建文本和向量盒子。根据功能需求,添加文本和向量盒子的内容。

2. 对密室逃脱游戏的文本细节进行设定,进入文本细节的输入栏,选择密室逃脱文本进行编辑。

3. 调整按钮“开始游戏”,点击按钮下面的文本,然后在输入细节的部分输入“开始游戏”的文本内容,通过代码的编辑从而实现文本的分布 方式,调整字体的颜色和大小。在密室逃脱场景的设计中,不要对实体按钮进行显示,所以要按钮的细节栏选择尺寸,完成填充。将按钮面板的尺寸设定为1,然后将悬浮框中的Alpha调成0。通过这样的设置,文字就具有透明的按钮基底,从而完成了游戏的UI界面实现,下面将界面放到密室逃脱游戏的场景中,主要通过对蓝图设置和游戏启动完成。

4. 添加新项,在空间蓝图弹出的对话框中创建get组件,然后重新命名。并且在细节的面板中将之前设定好的控件蓝图选中,通过这种方式能够将组件蓝图和控件蓝图建立连接。

5. 将“gamestart”用鼠标拖动到游戏关卡的启动场景中,并且要在细节面板中设置文件夹的属性。在密室逃脱游戏场景中,单独显示文字不足以为玩家提供提示和相关的操作,所以,在游戏的设计中,利用UI提供的空间设计实现了悬浮动画的方式提示玩家,引起注意。

6. 完成对UI的设计并将设计引入到密室逃脱游戏场景中后,我们还要创建一个UI界面能够完成游戏和玩家之间的交互。在密室逃脱游戏场景的“gamestart”位置处,创建一个盒体的触发器,并且调整触发器的尺寸让他和“gamestart”的大小尺寸相符合。然后在这个触发器中设置蓝图的链接功能,出发事件属性和函数的节点,让其联通,在函数节点中设置输入密室逃脱游戏关卡名称。当玩家触发盒体上的触发器,就可立即打卡迷失逃脱游戏的关卡,进入下一个游戏环节。

至此,完成了“开始游戏”UI界面的实现,采用同样的方法流程可以实现“离开游戏”的UI人机交互界面。并且按照设计和关联能够将其放在密室逃脱的游戏关卡场景中。玩家可以通过UI界面功能按钮的启动,根据自己对游戏的需求,完成UI交互界面的触发。游戏玩家启动点的设置也是非常必要的,要设置在密室逃脱的场景中,设置启动点的主要目的是为了让游戏玩家登陆密室逃脱游戏后,具有固定的启动为止。创建密室逃脱玩家启动点,要讲玩家的启动点朝着游戏开始的方向,从而引导游戏玩家快速的进入密室逃脱游戏关卡场景中。

3.3 密室逃脱游戏关卡实现

当游戏创作完成密室逃脱游戏场景的概念设计后,要将其拆分为不同的部分,划分为多个晓得区域完成设计实现。拆分的方法有两种,分别是视觉绘制和按照概念图划分小区域。前一种方式的原画实现最为直观,表达直观视觉下的游戏画面的环境、结构和气氛。第二种方式将原图发送到外包然后对原画进行设计和理解,非常适合3D游戏关卡的制作和实现,从而可以有效的降低资源的消耗和游戏开发的整体成本。

密室逃脱游戏关卡的实现过程增加了交互式和虚拟现实技术的实现,设置了密码找回,保险箱以及谜题等关键关卡的步骤,同时为了最大限度的突出密室逃脱游戏的特点,增加玩家的体验,在关卡设计视线中没有给出任何虚拟性的线索,而是需要玩家在游戏中不断的寻找,最终找到游戏线索实现密室逃脱通关。

游戏关卡设计的最后一个步骤为通关设置。玩家完成所有游戏关卡后,打开密室逃脱的门为通关。在密室逃脱的门外放置了一个触发器,并且将触发器调整到适当的高度,当打开控件蓝图编辑器中,设定触发器的结果。玩家通关推开门碰到触发器后,触发器就会将事件传输给退出游戏函数,退出游戏关卡。

在密室逃脱游戏关卡的谜题设置完成之后,还有一些补充工作。为了确保游戏玩家在每次进入游戏关卡时的位置都是固定的。要在密室逃脱游戏的场景中设置玩家的出生点,并且确定好高度和方向。这样游戏玩家进入游戏关卡时就不会出现突发状况。也可以作为一种引导,引导玩家观察游戏关卡场景内的情况,增加游戏的代入感和体验感。

4 . 基于Unity 3D密室逃脱游戏测试

在Unity 3D引擎密室逃脱游戏的设计中使用的是目前较为主流的虚拟现实技术,为了尽量满足游戏玩家在游戏中的体验,在游戏设计的初期要对游戏进行整体布局,在设计和实现过程中进行反复的程序调试和测试,从而可以有效的避免在玩家游戏过程中出现的画面不流畅、死机等问题。

通过对游戏的反复调试和测试后,针对密室逃脱游戏在开发设计过程中出现的问题总结,总结游戏开发的经验,为日后虚拟逃脱类游戏开发提供参考和借鉴。

对密室逃脱游戏进行测试,在不同的电脑配置环境中完成测试,游戏运行的帧速率测试结果如表4-1所示。

通过上述的测试结果可知,在不同的硬件环境中游戏的运行效率有所不同。硬件和操作系统的版本更高,其運行的效果越高。但根据不同玩家的测评结果显示,目前大部分游戏在运行过程中没有出现严重的卡顿现象,并且密室逃脱的场景设计、关卡设计和游戏内容都很吸引人,玩家的体验良好收到了大家的好评。

结论

游戏的闪光点在于具有更好的游戏场景设计、更丰富的游戏内容和有趣的关卡设计。随着玩家对游戏要求的不断增加,游戏开发者的工作面临较大的挑战。本文以密室逃脱类游戏为设计对象,基于Unity 3D完成了游戏的设计和实现。主要完成了密室逃脱游戏场景、人机交互界面和关卡的设计和实现。并在不同的硬件资源和操作系统环境下,完成了对游戏运行效果的测试,测试速度显示游戏在运行速度和效果上基本满足玩家的需求。

[ 参  考  文  献 ]

[1]关怀. 密室逃脱游戏空间设计的发展分析[J]. 艺术品鉴, 2017(2).

[2]魏怀亮, 庞念雯, 赵永震, et al. 真人版密室逃脱游戏主题设计[J].黑龙江科技信息, 2016(2):8-8.

[3]李长滨. 密室逃脱中的逻辑推理[J]. 小雪花(小学生成长指南), 2016(5):12-13.

[4]乔薇.密室逃脱与VR技术的结合[J]. 现代装饰(理论), 2017(2).

[5]郭睿静, 张帅. 基于Unity3D游戏动作的控制和设计[J].兰州文理学院学报:自然科学版, 2015(1):43-47.

[6]丁群, 蔡松江, 陈燕翔, et al. Unity3D游戏性能简单优化浅淡[J]. 黑龙江科技信息, 2015(31).

[7]桑琪, 叶德建. 基于Unity3D游戏客户端开发框架的设计与应用[J].微型电脑应用, 2016, 32(6):66-69.

[8]孙佳弘. Kinect系统在Unity3D游戏角色动画制作中的应用[J].电子技术与软件工程, 2013(24):110-110.

猜你喜欢

密室关卡界面
电塔岛历险
从零开始学用智能手机
疯狂冒险岛
密室脱身之计
并非死于密室
怪盗基德的密室
逃离密室
时空穿梭
基于XML的界面自动生成设计与实现