本文将由来自Gunstar Studio的几位技术大牛将分享他们在太空动作游戏《Phobos Vector Prime》中制作爆炸效果、角色纹理和构建关卡的方法技巧。

项目简介

Gunstar Studio是由4名成员组成的一家独立游戏工作室,《Phobos Vector Prime》项目始于2016年6月,我们一起构思了这款游戏。由于热衷与朋友们一起玩游戏,所以一开始是希望制作一款多人对战游戏,体验体验竞技的快感。但是作为一家独立游戏工作室,要想制作一个大型多人游戏显然是十分困难的,所以在首个游戏设计文档中,我们加入了单人游戏模式,这个模式主要用于帮助玩家了解游戏玩法,并为扩大玩家群体做准备。

首个游戏原型由多个太空飞船组成,而后演变成了MOBA类游戏,因为很多玩家很喜欢这种游戏类型。一开始我们打算做出一款竞技性十足的游戏,它将结合MOBA游戏的策略性和80年代街机游戏的爽快感。

《Phobos Vector Prime》的画面应该充满怀旧感,就像童年时的那种风格,将街机游戏中的可玩要素提取出来,结合当下最新技术进行制作。这意味着,不会使用像素风画面和8比特音乐风格,而会参考街机游戏中逼真的环境和富有挑战的游戏体验。所以当玩家玩《Phobos Vector Prime》时,玩家会看到各种颜色和灯光,会听着复古音乐击杀大量敌人。这些要素本应在八十年代的游戏中出现,但由于技术限制,当时没能制作出这样的效果。

技术角度

《Phobos Vector Prime》所使用的引擎是Unity,因为Unity对小型或者独立游戏工作室更为实用。开发的主要目标是实现流畅易玩的游戏体验,使这类游戏的老玩家在几分钟内掌握太空飞船的操作方法,同时让新玩家也能适应游戏的难度曲线。为了达到目前的游戏效果,我们不断基于玩家反馈对游戏进行了大量修改,玩家们的想法帮助我们大大改善了游戏。

在开发期间,考虑到游戏中大量敌人所带来的紧张感,我们对屏幕画面中的敌人数量十分重视,我们想要让玩家有一种四面楚歌的感觉,在枪林弹雨中躲闪的同时终结所有敌人。我们希望重现经典子弹地狱类游戏的特色,但我们也知道,那样会对游戏的性能产生很大影响,所以一开始我们就制作了多个相应的Unity工具。

下面是我们使用到的二个提高性能的基本技巧。

1. 优化物理效果:在开发早期定义参与物理交互的元素,使用图层系统组织好这些元素,配置出图层碰撞矩阵。这个方法能防止引擎不断计算物体之间是否发生碰撞,根据游戏设计内容,有些物体无论何时都不应与其它对象有任何关系。Unity所限定的最大图层数是32个,所以你必须谨慎管理好图层,避免使用过多图层,毕竟它们各自都有特定的用途。

在决定要创建哪些图层前,我们推荐先设计一个简单的表格,上面列出不同的游戏元素并指出它们的相互关系。这是我们为首个原型所定义的表格。

当决定好要使用哪些图层后,先创建图层,然后在引擎中配置图层碰撞矩阵(依次点击Edit> Project Settings> Physics打开)。这就是我们的配置:

2. 对象池(Object Pooling):当要在游戏中创建并摧毁大量对象时,例如:子弹和敌人,在引擎中将对象不断实例化并移除是个效率很低的方法。最常用的解决方案是先预实例化对象,把它们设为禁用状态,然后在需要时激活。

环境设计

为了构建关卡,我们首先在图纸上进行设计,然后使用Photoshop将设计图呈现在电脑上。我们的游戏设计师会处理每个关卡的草图,然后在设计完成后,将草图传入Unity中,经过如下步骤构建出地图:首先放置各类资源,例如:石块、墙体和建筑。建筑类型取决于任务中所要呈现的艺术风格,这些资源用来限制玩家的移动路径。

对于那些不在开放空间(但会在小行星或行星上)中开发的地图,我们使用了Unity的Terrain功能。

当场景布置好后,我们就开始将资源与可交互对象进行整合,例如:门和生成器。为了加速开发进程,我们的开发人员创建了一个专用关卡编辑器,它能帮助实现对象并迭代关卡设计。

开发游戏元素,包括飞船、炮塔和敌人等也是个十分有趣的过程,因为它们的设计直接影响了关卡的构造。最初游戏中的太空飞船外观质量较低,买二手手机靓号主要用于设计机械装置的原型。在核心游戏内容完成后,我们便开始专注于提高游戏的图形效果,所以我们决定完全重新设计所有模型,呈现出更为专业和精细的美学风格。

为了给游戏对象建模,我们使用了多个工具,其中主要用的是Cinema 4D,用来设计所有元素的低多边形模型。我们的工作流程开始于在Cinema 4D中创建具有少量多边形的设计模型,然后用Zbrush给它加入丰富的细节,从而转变为高多边形模型。

下面是游戏中猎鹰号太空飞船和敌方炮塔的UV图和相应低多边形模型。

为了制作出太空飞船等细节丰富的游戏对象,我们使用了各种Zbrush工具:细分工具、Alpha笔刷、采样工具、ZRemesher等。我们尝试保留了最初的低多边形形状,因为我们想要让模型设计既简单又吸人眼球,与此同时还能拥有良好的游戏性能。在我们实现出想要的效果后,我们便把最后的高多边形模型利用Xnormal导出,从中获取了ID、法线、环境光遮蔽、Bent 法线、高度和弧度(Curvature)通道。

有了这些贴图,我们接着用Quixel Suite给模型制作纹理。我们首先制作的是用于底座的金属材质,然后我们再制作油漆图层,附上污迹和尘土。表示损伤状态的遮罩会放在边缘位置,而表示划痕的遮罩则放在物体表面。

这是得到的最终效果。

VFX视觉特效

游戏的视觉特效会很大程度影响大众对游戏专业性的评价,而且能从本质上影响游戏的感觉,所以我们花费了大量时间来研究如何制作视觉特效直到实现当前效果。

在创建效果时,我们通常遵循这二个基本步骤:

1.在纸上绘制一个对象不同状态的草图,包含从它的被创建到被摧毁的所有状态,然后预估每个状态的持续时间。

2.从游戏市场上搜索并选取与理想效果接近的参考图样。我们的爆炸效果受到了《Just Cause 3》和《Battlefield 1》这二款游戏的很大影响,我们仔细研究过它们,然后制作出了我们希望的爆炸效果。

一旦确定要实现的效果,并决定好所使用的方法后,我们就开始在引擎上进行测试,直到实现理想的视觉效果。如果发现某个想法无法实现出来,便会放弃掉。根据效果的不同,这个过程的持续时间从几小时到数周不等。

我们在此用制作爆炸效果的过程作为例子来详细讲解。

1. 首先我们使用流体模拟器来生成爆炸效果。例如:FlumeFX、Phoenix FD等工具。

2. 然后我们将完整的爆炸动画以32帧的画面导出到二个渲染器中,其中一个只包含爆炸的火焰,而另一个包含完整的爆炸效果,每个.PNG文件的分辨率为256×256像素。因为爆炸效果的整体形状为圆形,我们决定使用前面提到的渲染器,使爆炸效果在游戏中从任意角度看都有不错的效果。

3. 我们使用GlueIt来从渲染器生成的画面中获取精灵图集。本示例中,火焰动画较短,所以我们去除了结尾的多个帧。最后,我们会得到.JPG格式的纹理图片,分辨率为1536×1024,共有24帧,背景色为黑色。此外,我们决定移除纹理中的黑色再将纹理导入Unity材质中,从而获取我们想要的颜色。对于烟雾动画的精灵图集,其纹理分辨率为2048×2048,一共有64帧,为了方便处理渲染器的透明度,PNG格式。

4. 在Unity中我们创建了二种材质,一种使用了Additive混合模式,用于火焰,它能为爆炸增加亮度;另一种使用了Alpha混合模式,用于烟雾, 放在火焰材质之下。

5. 我们使用了名为Particle Playground的粒子系统,你也可以使用Unity的默认工具达到类似效果,在其中我们创建了二个粒子系统,并且每个粒子系统都使用之前创建的相应材质。我们定义了粒子实例化的位置,这样会决定爆炸效果的形状大小。烟雾和火焰必须共享实例化的位置,这样会使每个火焰粒子都能添加到对应烟雾粒子上,从而增加亮度并正确匹配爆炸动画。我们使用了Texture Sheet Animation纹理图集动画功能来配置和复制精灵图集的动画,要记住,设置好分类方法很重要,这样能使火焰在烟雾中显示出来。

6. 我们还为爆炸效果的其它部分创建了相应的材质、着色器和纹理。

火焰余烬:这些粒子生成时会带有作用力属性和随机旋转方向,这个方向会在爆炸效果周围沿着圆形锯齿线随机选取。

震荡波形:包含一个粒子和一个附加着色器,着色器的大小会在存在周期中不断增大。

波形扭曲:它和震荡波形有相似的属性,只不过它还多了个扭曲着色器。

火光:带有一个粒子,它会为爆炸中心带来更多光亮。

火花:带有小型闪光,它们会带来受到伤害和破坏的感觉。

7. 最后我们将效果的各个部分组合起来,创建出爆炸效果的预制件,以供需要时使用。当然了,使用后期处理效果进行美化也十分重要,这样能使效果看起来更好。本示例中,我们只使用了Amplify Bloom来提升场景的光亮效果。

多人游戏部分

首先我们制作了一个多人游戏演示视频,然后用同样的机械基础构建了单人游戏模式。也许这个过程听起来有点奇怪,但从一开始,我们就认为《Phobos Vector Prime》会拥有很多种游戏方式,而其中一种便是故事战役。

我们的故事模式能让玩家了解MOBA模式中的三个对立阵营的起源故事,这三个阵营分别是叛乱军、自卫队和赏金猎人,与此同时还能了解游戏的核心玩法。

我们制作出这个模式是为了介绍MOBA游戏的经典策略。例如:第一个战役中的主角所担任的角色是坦克,所以关卡会要求玩家承受伤害并保卫建筑。我们还增强了每艘飞船特定技能的功能,随着故事的发展,这些技能会一一被激活。

小结

《Phobos Vector Prime》今年4月在PlayStation 4上发行。在完成首个战役的发布后,会继续开发其他故事战役和完善多人游戏模式。

太空动作游戏《Phobos Vector Prime》创作经验分享相关推荐

  1. 安卓rpg绅士游戏资源_海贼无双3(动作游戏)——电脑安卓单机游戏下载资源分享...

    点击上方蓝字 关注我们 01 游戏简介: 游戏名称:海贼无双3 其它名称:One Piece - Pirate Warriors 3 游戏类型:动作游戏 开发发行:Omega Force 游戏平台:P ...

  2. 使用Java FXGL构建太空游侠游戏

    In this simple FXGL tutorial, we will develop a game called "Space Ranger". 在这个简单的FXGL教程中, ...

  3. 基于cocos2dx的横版动作游戏制作(一)

    基于cocos2dx的横版动作游戏制作(一) 本人最近几个月在工作之余,都有断断续续地去学习cocos2dx的一些东西,在一些论坛上参考有关资料,源码,比如www.9miao.com,泰然网等等,毕竟 ...

  4. GOE:Nintendo Switch™ 对战忍者口香糖动作游戏『Ninjala』首次正式直播中陆续发表最新信息

    「Ninjala 故事礼包 初之卷」决定出售! 东京--(美国商业资讯)--GungHo Online Entertainment Inc.(TOKYO:3765)在2020年6月18日(周四)举行了 ...

  5. 张瀚荣:如何用UE4制作3D动作游戏

    http://www.gamelook.com.cn/2015/06/218267 GameLook报道/ 6月5日,2015年第三期GameLook开放日‧虚幻引擎专场活动在上海正式举行,此次活动由 ...

  6. mac太空射击游戏:Nova Drift (新星漂移)中文版

    Nova Drift是一款激动人心的太空射击游戏. Nova Drift Mac整合了现代独立游戏风格和游戏历史上最深的根源.它不仅具有时尚和性感的外观,而且具有平稳的控制功能.玩家控制着一艘不断开发 ...

  7. unity游戏开发毕设_毕设分享:用 Unity 探究 2D 游戏的打击感

    这是我毕业设计的一部分 emmm--我的毕设和格斗游戏相关,而对于打击感的研究算是其中我比较在意的一环.现在临近毕业,我将毕设中开发部分的一些内容整理出来分享,希望能通过这样学习到更多的东西. 打击感 ...

  8. 【ThinkGame】我对动作游戏的思考,以及一个游戏程序能为动作游戏做什么?

    终于,我决定进入游戏行业,并踏进去了一只脚. 2019年的游戏<只狼>,让我看到了东方文化在动作游戏中的完美诠释,中国本应可以在以东方文化为卖点的电子游戏行业中大放光彩,却因为不可抗的力量 ...

  9. 张瀚荣 如何用UE4制作3D动作游戏

    GameLook报道/ 6月5日,2015年第三期GameLook开放日‧虚幻引擎专场活动在上海正式举行,此次活动由Epic Games与GameLook联合主办. 动作游戏凭借爽快的打击感和强烈的操 ...

最新文章

  1. MySQL-锁表处理
  2. 选择屏幕——按钮、单选复选框
  3. 深入解析QML引擎, 第4部分: 自定义解析器
  4. Spark _12_每个网址的每个地区访问量 ,由大到小排序
  5. zabbix监控特定进程
  6. 你的iOS静态库该减肥了
  7. 阿里忘禅:蚂蚁集团分布式注册中心建设分享
  8. 阿里巴巴副总裁司罗:达摩院如何搭建 NLP 技术体系?
  9. eclipse java machine_打开Eclipse弹出“No java virtual machine was found...的解决方法
  10. Java实现将任何编码方式的txt文件以UTF-8编码方式转存
  11. Android与H5相互接口调用及Android端接口整理
  12. mysql分组查询学生平均年龄_8.21MySQL(四)基本查询语句及方法、连表、子查询...
  13. 【1.01】VBA基础
  14. (励志)(转载) 在华为的十年
  15. 2021年全国大学生数据建模 C题 数学建模大赛
  16. 什么是常识?一个人独立生活所具备的能力
  17. omniplan导出html,OmniPlan Pro 3.10.4 最NB的项目管理流程软件
  18. c语言程序ax2 bx,计算ax2+bx+c程序清单计算机组成原理计算机系统概论.PPT
  19. SpringBoot项目打包发布
  20. Mac自带文本编辑器TextEdit编辑大文件后打不开

热门文章

  1. FFT—音频频谱设计
  2. Openstack安装与部署三:本地源配置
  3. AdB android 投屏 usb,QtScrcpy: Android实时投屏软件,此应用程序提供USB(或通过TCP/IP)连接的Android设备的显示和控制。它不需要任何root访问权限...
  4. “杜拉拉思维模式”之五:面试礼仪速成
  5. LVGL lv_cont 容器(8)
  6. ASP.NET正则实现表情替换为图片,如[hanx]替换为img src=img/hanx.gif/
  7. 96-Java的打印流、打印流重定向、补充知识:Properties、commons-io框架
  8. 回文是指正读反读均相同的字符序列,如“abba”和“abdba”均是回文但“good”不是回文,试写一个算法判断给定字符是否为回文。
  9. 技术Leader的30条军规
  10. SSD目标检测算法原理(上)