基于虚幻4引擎的三维游戏开发实践

2015-05-30 10:48朱阅晗张海翔马文娟
艺术科技 2015年9期
关键词:游戏设计程序美术

朱阅晗 张海翔 马文娟

摘 要:在数字媒体专业实践教学中,三维游戏设计的技术门槛是教学实施的主要障碍。虚幻UE4引擎的制作初衷是为了创造更加容易的内容制作方法和编程开发方式,为了让所有的美术开发人员能够在有少量甚至没有程序开发基础的情况下使用抽象程序助手来自由地进行游戏创作,以及提供程序员高效率的模块和可扩展的大量架构和插件用来创建、调试和完成各种类型的游戏制作。虚幻UE4引擎在数字媒体专业实践教学具有明显的可行性,具有一定的推广价值。

关键词:虚幻引擎;游戏设计;美术;程序;模块

0 前言

数字娱乐设计是数字媒体专用学习中的重要方向,也是数字技术与媒体艺术、设计、影视、音乐等融合产生的新兴交叉领域。而三维游戏开发[1]是数字娱乐设计中技术难度最高,用户体验最好的一个技术种类,在行业中存在巨大的人才需求。三维游戏开发由于其涉及游戏设计、三维模型设计、游戏逻辑设计、游戏引擎工具开发等多个技术环节,完整的流程需要昂贵的游戏引擎技术支持,以往只能在商业游戏公司内部署完整游戏设计制作的流程,而在教学环节难以普及。

UE4是Epic Games公司在最新发布的业内顶级游戏引擎,[2]在欧洲和北美已经得到了广泛的应用,亚洲现在也渐渐地开始发展起来。UE4具有非常棒的图形处理能力,包括高级动态光照,新的粒子系统(可以同时处理数以百万的粒子)等。更为重要的是,UE4已经宣布100%源代码开源,而且在大学或是学术单位是可以免费使用虚幻UE4来做课业还是毕展,学生也可以用来制作与发布自己的游戏。UE4的出现给在数字媒体本科专业学习中实现完整三维游戏制作提供技术可能。本文以三维漫游游戏为例,讨论了如果使用UE4游戏引擎制作达到行业主流水平的三维游戏的技术要点。在整个游戏制作中,开发人员不需要关注底层图形图像技术,只需要专注与游戏内容的设计和制作。因此,非常适合数字媒体本科专业的学生进行三维游戏以及虚拟现实方面的专业技术实践训练。

1 UE4的游戏设计机制

从实际开发的角度来说,UE4具备了开发游戏所必要的所有功能。与早期引擎(OGRE、OPENGL等)需要自己编辑文本文件,无法预览效果相比,UE4提供了一种类似组件的游戏构建方法——UE4脚本(buleprint),一张脚本就像一个组件,可以被调用和组合,颇有面向对象的思想。相比完全使用代码来实现游戏的制作方法,这种可视化的游戏引擎在设计效率和效果上具有数量级的提升,在行业内普及也是大势所趋。同时,对一些无法用脚本,UE4开放了源码,可通过修改源码实现。

1.1 UE4游戏的构成元素

UE4游戏的内容包括:脚本(blueprint)、组件(Components)、角色(Actor)、关卡(level),人机交互界面(HUD,以及UI设计)等几部分内容。[3-13]下面介绍UE4游戏引擎的重要构成元素:

(1)脚本(Blueprints)。虚幻UE4引擎提供的脚本系统是一个可视化脚本设计系统,提供一种直观的、基于节点的可视化脚本设计界面,通过使用各种不同功能的结点把事件、函数、变量相互连接,构成图表,以实现各种复杂的游戏功能。用于创建新类型的角色(Actor)及关卡脚本事件,它为关卡设计师和游戏开发人员提供了一种全新的开发方式。正如虚幻引擎的宗旨,让美术开发人员在无程序基础的情况下开发游戏,很多时候一行代码都不需要书写,也能够完成大部分的操作。程序员也可以用脚本(Blueprints)来进行游戏制作,很多情况下使用脚本(Blueprints)比写代码方便很多,并且更加直观,在逻辑的建立上也有很多方便的地方,和代码相辅相成。

(2)组件(Components)。虚幻UE4引擎的组件是能够提供一些具体功能操作的游戏部件。组件不能单独存在,它可以被添加到一个角色(Actor)里,然后这个角色(Actor)就包含了该组件的功能。在脚本中的一些结点如果要成功执行必须要有执行组建,如Play结点的执行对象必须是音频或是动画。通过给角色(Actor)添加不同的组件,角色(Actor)可以拥有不同的功能。

(3)角色(Actor)。角色(Actor)是可以被放置到关卡(level)中的游戏对象,其中又包含了若干组件(Component),一个支持平移,旋转和缩放的通用类脚本。角色(Actor)可以通过游戏代码(代码或脚本)创建或者生成,也通过游戏代码(代码或脚本)销毁(Destory)。

(4)关卡(level)。关卡(Level)是UE4引擎的游戏场景对象,在关卡中包含若干游戏角色,若干关卡脚本,以实现游戏场景的设计。

(5)人机交互(HUD)。HUD官方给出的解释是“抬头显示屏”(heads-up display),是UE4引擎的人机交互界面,UI的设计主要就在这个类中,上面可以显示血条,生命、弹药,游戏时间等。

1.2 游戏运行原理分析

UE4游戏引擎的运行原理以level为基本单元。假设我们的游戏只有一关,这一关就是一个level(关卡),关卡相当于是一个大容器,在其中添加了各種静态模型、NPC、触发器什么的,这些统称为角色(Actor)。这样关卡就构成了基本的UE4游戏场景。

每个角色(Actor)都可以设计相应的角色脚本,是一个比较独立的个体。在关卡脚本的设计中,可以先用角色(Actor)设计成所需要的游戏元素,添加在关卡中,或者是在后台等待被调用加入。关卡都有相应关卡脚本(Level Blueprints),是关卡的一个游戏逻辑控制器。只要关卡在运行,关卡脚本就一直被调用,关卡脚本驱动了关卡中各种角色(Actor)的动作,进而调用其他角色(Actor),而这些被调用到了关卡中的角色(Actor)又可以调用其他角色(Actor)实现新的功能。如此循环往复,就推动了整个游戏场景的运行。

2 三維漫游射击游戏的具体实现

根据UE4游戏引擎的设计原理,本文设计实现了一款迷宫射击类游戏,简单而不单调。游戏的背景设定具有科幻色彩:“由于人类触碰了科学的禁忌,诞生出来的怪物——Noah.27。一种拥有自我意识的电流,Noah.27的天敌——PIPA。当科学与魔法碰撞之时,故事才刚刚开始……”

整个游戏场景是一个迷宫,由有形之墙和无形之墙组成,有形之墙可以开火击毁后通过,无形之墙会在与主角接触后现形一段时间,同时减少主角能量,一路上有陷阱,触发之后怪物会从天而降袭击主角。游戏胜利条件是活着到达终点。

2.1 游戏角色

这里首先使用3DMAX[2]进行建模,主角的建模并不困难,主要是做几个立方体,然后用导角做出嘴巴和脚,眼睛使用贴图,这样主角就完成了。

(a)主角设定

(b)怪物设定

怪物的模型看似很复杂,但是因为使用的是半透明的贴图,在实际游戏中会显示的比较暧昧。在三维建模的设计中,只是用一个不规则的球形模型来实现,然后使用网格平滑就可以了。

2.2 游戏关卡

场景的制作也只是工程量略大,首先在纸上画好俯视图,画好迷宫,两种墙的类型要标清楚,然后是确定场景中陷阱的摆放地点、能量包的摆放地点、快速存档的地点。这些位置在设定的时候要分布合理,要计算好玩家到达终点时必须碰壁的次数,需要打掉多少堵墙;权衡途径的陷阱数量和能量包数量跟血量的关系。这里设置了两条通往终点的路径,这样可以提高游戏的耐玩性。其次比较费劲的地方是贴图,动态贴图的制作和贴图位置的调整都是在UE4中完成的,因为贴图制作并不是所见即所得,效果是要渲染之后才能看见的,所以在制作的时候要在脑海中事先模拟好效果,这样才能提高工作效率。

2.3 主角设计(主角相关的设计请详细介绍)

主角有一条能量条,3条生命,有开火和放防护罩2种技能,都会略微扣一点能量,触碰无形之墙后也会扣能量,吃路上的能量包会增加能量,打败怪物后会掉落能量包,能量变为0之后主角死亡。

整个游戏需要制作的东西大致有:

2.4 其余辅助功能设计

其他的一些需要实现的功能,如UI上一些组件的实现,包括血条的增减、准心的替换、各个按钮点击时的艺术效果和延迟、加载画面的动画组件制作、游戏通关和失败的页面提示、游戏时间、最佳通关时间、最快死亡时间的显示等等。还有开场FLASH动画的制作和加载,摄像机动画的制作和触发等。具体的设计制作方法这里不再详细给出。总体上来说,这些游戏内容的设计都可以用UE4引擎的常规设计高效完成,不需要涉及抽象的程序代码。

3 总结

本文实现的游戏从游戏设定的角度虽然不是一款大制作游戏,但“麻雀虽小五脏俱全”,从场景到UI,从3D开场动画到结尾实时动画,还有游戏数据的储存,三维游戏设计的构成元素都包含其中,可以作为数字媒体专业的动画、虚拟显示、游戏设计等方向的一个精巧而全面的实践案例。UE4游戏引擎的脚本系统大大降低了三维游戏制作的门槛,无须代码基础,只要有正确的逻辑思维,就可以靠蓝图来实现自己的想法。这样,游戏设计师可以专注与游戏内容的设计,使用脚本直接来实现自己的想法,证明可行之后再让程序来完善即可。UE4引擎的这种制作理念让我们把游戏制作的思维方式从“我们能实现什么功能”进化到了“游戏需要什么功能”,让设计师更重视游戏设计本身而不被代码所束缚,在游戏中尽情地表现自己。通过本文案例可说明,UE4游戏引擎作为一种先进的三维游戏设计技术,在数字媒体专业实践教学中也具有显著的可用性,具有一定的推广价值。

参考文献:

[1] 彭澎,冯黎金,丁鹏. 3DS MAX与After Effects影视动画设计与制作教程[M].北

京:清华大学出版社,2007.

[2] EPIC . UE4官方文档[EB/OL]. https://docs.unrealengine.com/latest/INT/.

[3] 朱玉莲,庞少召,张绍博.中文版Flash CS6高手速成[M].北京:电子工业出版社,2013.

[4] Designing编辑部.色彩设计:日本平面设计师参考手册[M].北京:人民邮电出版社,2011.

[5] 周炜,纪春明,王志新. After Effects CS6影视后期制作实战编著[M].北京:人民邮电出版社,2013.

[6] Unreal Engine 4中文社区[EB/OL]. http://bbs.sanwu.org/forum.php.

[7] 红动中国[EB/OL]. http://sucai.redocn.com/index.html.

[8] 日本在线配色参考[EB/OL]. http://nipponcolors.com/#nadeshiko.

[9] UI中国[EB/OL]. http://www.ui.cn/.

[10] 3D Total[EB/OL]. http://www.3dtotal.com/.

[11] TurboSquid[EB/OL]. http://www.turbosquid.com/Search/?KEYWORD=Free.

[12] Ryan Shah . Master the Art of Unreal Engine 4?Blueprints[M].Australia:Createspace,2014.

[13] Ryan Shah. Unreal Engine 4 Blueprints-PartII.5-ExtraCredits[M]. Australia:Createspace,2015.

[14] 三巫教育[EB/OL]. http://sanwu.ke.qq.com/.

猜你喜欢
游戏设计程序美术
创意美术
试论我国未决羁押程序的立法完善
创意美术
创意美术
“程序猿”的生活什么样
英国与欧盟正式启动“离婚”程序程序
VR技术现况及其未来对游戏设计的影响
小学低年级语文游戏教学设计探讨
让小学英语阅读教学焕发生机
分析小学体育游戏的设计与合理运用