基于UE4的跑酷游戏的设计与实现

2020-02-22 03:10杨成义梁毓伟
现代信息科技 2020年17期
关键词:蓝图

杨成义 梁毓伟

摘  要:跑酷类电子游戏,能让玩家在感受极限运动的同时,减少身体机能的限制,降低受伤风险,并实现锻炼思维、提高行为敏捷的目的。文章借助Unreal Engine 4游戏开发引擎,通过可视化的蓝图编程的形式,从关卡、游戏模式、玩家控制器以及用户界面等四部分进行了跑酷游戏PC端的设计和实现。经过测试,游戏中关卡设置、角色动作等功能运行流畅,场景跳转迅速,声音播放及参数计算均正常。

关键词:跑酷类电子游戏;Unreal Engine4;蓝图;玩家控制器

中图分类号:TP317      文献标识码:A 文章编号:2096-4706(2020)17-0090-03

Abstract:Parkour video games can make players feel extreme sports,reduce the limitation of body function,reduce the risk of injury,and realize the purpose of exercise thinking and improving behavior agility. With the help of Unreal Engine 4 game development engine,through the form of visual blueprint programming,this paper designs and implements Parkour game in PC from four parts:level,game mode,player controller and user interface. After testing,the game level settings,role actions and other functions run smoothly,the scene jumps quickly,sound playback and parameter calculation are normal.

Keywords:Parkour video games;Unreal Engine 4;blueprint;player controller

0  引  言

隨着计算机产业的兴起,电子游戏逐渐走进大众家庭,正以迅猛的发展速度席卷文化产业,发挥着在和平年代提高人们精神文化生活质量的积极作用。电子游戏来源于生活,且往往能起到在潜移默化中锻炼人类生存技能的作用,跑酷电子游戏模拟的是一项极限跑步运动,在降低参与者受伤风险的同时,使其获得和极限运动同样的挑战快感。本文立足于当前新兴的单机联机游戏市场,借助美国Epic Games公司旗下的Unreal Engine 4(UE4)游戏开发引擎,以蓝图编程为主体,说明跑酷游戏在PC端需要实现的业务逻辑。在充分展示并运用UE4完备的功能特性的前提下,设计游戏的菜单,创建选项按钮,通过视角的切换实现菜单到关卡的无缝切换,重点渲染场景和道具的生成,设置按键的映射及角色动画播放逻辑,从而实现一个较为完整的游戏软件。介于此游戏的开发初衷,只是出于一定的兴趣和学习目的,同时目前完成版本的界面和美术效果一般,所以暂时不考虑游戏的推广及经济效益问题。

1  系统的需求分析

跑酷游戏需要实现的基础业务包含两大部分:数据及逻辑运算、多媒体输出。数据及逻辑运算部分主要需要处理关卡设置、UI交互、玩家控制等。而在多媒体输出部分,需要处理的有用户界面、环境及碰撞音效、模型、角色状态机等;在确立游戏的美术风格后,应为相应关卡设计合适的环境,注意使用天空球昼夜交替功能,设置合理充足的光源,保证在夜间玩家仍能有良好的视野。游戏的场景一般由重复生成的跑道、随机生成的环境和物品组成。跑道为单个或多个以矩形网格体为基础制作的可重复拼接方块,在关卡中按脚本设计顺序生成。随机生成的环境和物品则包含了玩家角色所碰到的障碍物、拾取物及跑道边缘装饰物,其在关卡中以伪随机的方式在标定的坐标上生成。

玩家在游戏过程中,角色的状态是逐帧检测的,并根据检测结果播放合适的动作动画。因此,需要提前制作角色在不同状态下的动作动画,并通过UE4的状态机编写缜密的逻辑,将播放及切换合理地串联起来。比如,判断角色是否处于跳跃状态是一个较为特殊的部分,需要判断角色的状态是否处于刚起跳、正在悬空、刚落地中的某一种状态,需根据不同状态设置合理的动画播放逻辑。刚起跳、刚落地的动画,在与跑动动画切换时只需播放一遍;而正在悬空的动画,则需要循环播放,保证角色在空中时不是处于静止状态。

2  系统设计和实现

本游戏软件的设计由关卡、游戏模式、玩家控制器以及用户界面四部分组成,后三者将以蓝图可视化编程的方式进行。针对上述内容进行具体分析,需要完成设计的对象有:光源、跑道、障碍物和得分物、角色、玩家控制器、用户界面等。相关对象均以类的形式进行封装,并按实际情况在场景中生成多个实例,这里选取主要的5类对象进行说明。

2.1  光源

设置恰当的光源,保证在夜间玩家仍有良好的视野。为了在配合天空球昼夜交替的条件下,减少不必要的阴影渲染错误,以及解决夜间玩家视线问题,需要将天空球的太阳高度与天空光源的照射角度绑定,实现了天空光源跟随昼夜交替变化的效果。针对天空光源的实时变化,将角色相机的自动曝光的最大值、最小值分别设定为20与-10,在此区间可以保证不会出现曝光不足及过曝情况,避免影响玩家视野,如图1所示。

2.2  跑道

关卡中地面就是跑道,其应该是无限延伸的,且能及时销毁。跑道上需随机生成障碍物及得分物,玩家与跑道上物品接触时需要正确的响应。将跑道封装为一个单独的蓝图类“Floor_BP”,类中除地板“LPlane”“RPlane”“Floor”外,还包含跑道销毁的逻辑、跑道上生成障碍物或得分物的坐标“Left”“Right”“Middle”,玩家到达跑道边缘后触发生成下一跑道的碰撞盒子“Box”,以及记录下一个跑道生成坐标的“SpawnPoint”,如图2所示。

2.3  障碍物与得分物

当玩家触碰到障碍物时,玩家角色的骨骼绑定将解除,角色将无法再次移动,自此游戏结束。在相同的骨架及网格体的特殊情况下,只需要加入Select节点、将不同的蒙皮放入Option引脚中,最后将Index引脚与Random Integer in Range节点相连后设置好随机数的区间,便可实现蒙皮效果的随机生成。

得分物使用了与障碍物相似的逻辑,不同的是在条件达成后,得分物的效果是将作为积分用的整型自增。

2.4  角色

玩家的角色封装于一个名为“Hero_BP”的蓝图类中,其中相机由摄像机摇臂与玩家角色相连,而光源则悬空,它们都将跟随玩家的角色进行同步移动。玩家操控角色时所进行的输入操作都应关联相应的业务逻辑,比如在多条跑道中临近障碍物时所做的跑道切换、跳过障碍物、角色的坐标位置变换、时间的增长和移动速度之间的逻辑關系等,全都包含在“Hero_BP”类中。部分控制角色移动的蓝图脚本,如图3所示。

2.5  玩家控制器

作为一个跑酷类游戏,玩家的控制器主要控制左移、右移、跳跃。UE4官方预置的“PlayerController”控制器还包含了蹲下、慢走等角色状态,并提供对触摸板、手柄等操作方式的支持,设置“MoveLeft”“MoveRight”“Jump”三个输入操作的映射,分别对应键盘上A键、D键、空格键,这些映射将在各个相关类中作为事件被进行触发,如图4所示。除此之外,游戏开始时并不显示鼠标指针、鼠标滚动视角的变化、界面缩放比例的调整等等,这些属于用户使用习惯的重要设置部分,都可以通过玩家控制器进行设置。

与游戏玩法相关的逻辑设置将存储于名为“Run_Mode_BP”的蓝图类中。在游戏软件中,它主要负责两个部分的逻辑控制,分别是跑道延伸的逻辑和关卡的初始化。针对跑道的延伸,包含了一个命名为“SpawnTitle”的脚本,该脚本中会调用“Floor_BP”类中“SpawnPoint”对象的相关属性,通过变换获取世界坐标,并根据该坐标给定的参数进行延伸跑道的计算。至于关卡的初始化,是将按钮的单击事件进行监听,在关卡开始执行时,通过For Loop节点将“SpawnTitle”脚本进行循环执行。这样,在游戏初期,玩家在视觉上就有足够长的跑道。“Run_Mode_BP”也配置了与自身设置相对应的控制器,当其被执行时,系统将调用其配套的玩家控制器。

3  测试

测试是软件开发中必不可少的一个环节,将游戏软件运行在Windows 10系统上,主要针对包括关卡及视角转换、场景显示、声音播放、参数计算四个方面进行调试和检查,找出存在的Bug。在实际测试过程中,状态栏及任务管理器显示正常,无闪退现象;关卡选择按钮响应正常,界面跳转流畅;在允许范围内,能够对角色进行有效的控制,动画播放序列匹配玩家输入操作;游戏场景及相关物品显示清晰,光源充足,无明显暗角;游戏声音播放清楚;游戏中参数显示正确,无乱码现象。如图5所示,游戏运行正常且参数显示正确。

4  结  论

经过对相应功能模块和界面的反复测试和调试,实现的这款基于PC端的跑酷游戏,能够满足一般玩家的日常游戏体验。软件安装简单,运行流畅,界面的跳转和输入响应迅速,背景声音与音效播放正常,游戏参数显示正确。游戏中还有一些地方值得优化:本游戏软件目前还是一款单机游戏,对其进行联网可以扩大受众,提高玩家的粘性;增加排行榜等类似设计可以使玩家获得目标感,更容易深层次地参与到游戏之中;相关场景设计过于单调,后续可以适当穿插一些3D动态特效和声音效果,增强玩家感官体验的同时,提高游戏的娱乐性。

参考文献:

[1] 孟恬恬.休闲类手游的设计实现与游戏性分析 [D].北京:北京印刷学院,2017.

[2] 李静.微时代下休闲类手机游戏设计研究 [D].无锡:江南大学,2015.

[3] 吴洪晨.基于UE4的ACT类游戏的设计与实现 [J].产业科技创新,2019,1(2):86-88.

[4] 掌田津耶乃.UnrealEngine4蓝图完全学习教程 [M].北京:中国青年出版社,2017.

[5] 尹鑫.基于UE4的塔防射击游戏设计 [J].信息与电脑(理论版),2018(4):93-94.

[6] 朱悦.基于UE4的射击类手机游戏系统的设计与实现 [D].武汉:华中科技大学,2018.

作者简介:杨成义(1985.09—),男,汉族,湖北孝感人,讲师,硕士研究生,研究方向:群决策支持系统;梁毓伟(1998. 08—),男,汉族,广东东莞人,本科,研究方向:计算机科学与技术。

猜你喜欢
蓝图
北京市规划展览馆:展示首都规划蓝图 讲述北京城市故事
画与理
蓝图是蓝色的
蓝图档案管理方法探讨
未来手机Morph蓝图揭秘