云畅游戏技术负责人分享:我们如何开发主机级动作手游?

  2021-09-26  

9月25日,云畅游戏技术负责人刘琛,受邀参加了2021北京国际游戏创新大会(BIGC),并于大会引擎专场中,分享了《鬼泣-巅峰之战》的高品质研发历程。

 

 

刘琛从角色、动作、关卡、AI 等多个纬度,讲述了《鬼泣-巅峰之战》团队如何在移动端上追求主机级的 3D  动作游戏品质。

 

随市场环境与用户需求的变化,主机级手游项目渐成趋势,整个手游技术也已经不断往 3A 化发展。云畅游戏在这一领域中已有一定的实践和积累,相信其技术负责人的分享,能够给行业带来一些启发。

 

为优化阅读体验,以下分享内容经过一番调整:


大家好,我是来自云畅游戏的刘琛

 

《鬼泣-巅峰之战》已经在今年6月份于国内公测了。它是一款高品质的 3D 动作手游,曾在今年4月份的苹果春季新品发布会上亮相。公测后,游戏在市场上也取得了一些不错的成绩。

 

我们这款项目主要有四个亮点:


  • 第一,在移动端上还原顶级动作 IP《鬼泣》的战斗体验

  • 第二,基于 Unity 打造出主机级 3D 视觉效果

  • 第三,区别于一般动作手游,它打破了「跳跃」的桎梏,让「Z 轴战斗」首次在移动端落地

  • 最后,我们基于「跳跃」机制,实现了三维尺度上的复合空间场景


由于移动端性能的限制,主机级手游研发是全行业共同的课题。那么,今天我会以此为主题,分享我们在《鬼泣-巅峰之战》里所做的一些尝试和技术解决方案。

 

我的整个分享有六个部分,包括五个技术要点的拆解和一个总结:



01.区别于「网红脸」的角色制作



为了还原原作 IP 的基本画面质感,我们在研发《鬼泣-巅峰之战》的过程中,需要不断优化建模。在保证高帧率的前提下,我们会按照 PBR 流程去制作手游的角色,并针对头发、皮肤等部位使用了一些特殊材质。

 

对于头发的制作,我们采用了2个 pass 来渲染,以还原原作中角色发型的柔顺质感。但由于移动端的性能限制,我们同时也需要控制头发的三角面数,来降低性能消耗。因此,我们选择将头发分为三个层次来制作模型。

 

 

第一层为内层,它是相对固定的层次,用于防止穿模,其贴图是一个不透明状态。


第二层为外层,它用于塑造角色的基础外形,因为需要还原角色头发的发质,所以这一层的贴图会比较丰富。

 

第三层是修饰层,作用是修饰外形、增加细节。

 

通过这三层的结合,我们基本就能够把角色原有的发型、发质展现出来。

 

对于角色皮肤的制作,我们采用了预积分皮肤次表面散射 lut 图的SSS效果。并在色泽表达上,尽可能表现出写实、硬朗的风格。

 

一是为了还原《鬼泣》原作的暗黑哥特风;再一方面,则是为了和市面上「小清新」、「网红脸」的人物建模做出区分。

 

为了能够让角色在融进场景的时候,显得更加立体生动,我们在场景中预置了可供微调 GI 的面板,用以调整角色进入不同场景后的效果。经过微调之后,角色便能够更加自然地融入场景中。

 


02. 如何保证动作的流畅、真实


《鬼泣》系列是 ACT 游戏的标杆产品,对于人物动作的展现效果有着极高的标准。这不仅体现在华丽的技能动作设计与打击感上,也体现在最基本的走、跑、跳这些角色基础动作上。


因此对于动作的展现,我们的原则一是必须流畅,二是必须合理。我先以游戏中的主角之一维吉尔为例,讲解我们所要达到的效果。


  

角色从静止到待机,从慢速移动到跑再到加速跑的整个过程里,不同的速度,会有一套动作的衔接。为了达到流畅的移动效果,在数值上会体现为速度的渐变,再配合 BlendTree(混合树)的设置,最终实现流畅变化,尤其是空中动作与地面动作的无缝转换。

 

另外一方面,《鬼泣》原作的动作设计也具有复杂、酷炫的特点。以主角但丁为例,他在移动的同时,还能使用枪械进行攻击。

 

 

为了让角色开枪行为展现的同时,也能接收玩家的移动操作指令,我们加入了动作分层的处理方式,将角色上半身抬手射击的区域与下半身双腿移动的区域进行分层与融合,并对玩家的输入进行反馈,最终实现了一套完整复杂动作行为的处理。

 

第三个方面,是如何让这款游戏的动作体验变得更加流畅,让玩家感受不到人物动作的僵硬。关于这点,我们尤其重视动作切换的流畅度表现,并制定了一套制作标准。

 

我们将所有动作资源分为「基础动作」和「行为动作」。

 


基础动作主要指人物的待机,移动,转向等,待机不能有明显大动作,而行为动作主要指人物的行为,如释放技能,受击,与场景交互等等。

 

对于基础动作来说,任何动作的起点、终点都应该是待机行为。这就对待机行为有一个标准的要求:不能有特别明显的大动作。除此之外,移动一定要有一个对应速度,且为了 BlendTree 能够生效,它们的整体规格务必一致,比如人物是先迈左脚还是右脚的问题就需纳入考虑之内。

 

而对于行为动作,我们又可以进行二次细分,分为主动行为动作与被动行为动作。不管是主动还是被动,我们在动作设计上的客观需求就是反馈要及时。所以,在进行动作切换配置的时候,我们缩短了行为动作融合的时间,再附加上逻辑上对动作的打断以及对切换时机的控制,让角色的攻击和受击更加真实和流畅。


03.以「空战」为前提的关卡制作


对于市面上大部分 ARPG 或者 MMO 来说,它的关卡设计流程会相对简单,对应的工作流通常是:策划先制作一个平面图,接着是美术产出模型的拼接,然后再由策划搭建关卡流程,并进行验证。这样的流程并不适合《鬼泣》这类 3D 动作手游,而且由于加入了「Z 轴战斗」的缘故,鬼泣的关卡设计也会更加复杂。

 

因此我们在制作过程中,摸索出了一套基于三维尺度的、富含多种玩法的关卡搭建流程。我们还是希望能在手机端上,对关卡机关、路线、刷怪点、宝箱点等实现 3D 层面的设计。但这带来挑战就是,策划与美术需要更紧密的配合,关卡设计流程也会变得更复杂。

 

首先,策划会基于功能玩法需求,先进行一个白膜搭建,并在白膜的基础上设计关卡的主要路线、区域,在其中用一些简单的表现手法表达局部的玩法。

 

到了第二步,美术会把白膜关卡模型的精细度进行一个提升,在其中展现美术组的设计想法和概念。制作后的白膜场景较为精细,并辅以灯光大气等环境,方便策划在其中验证之前的功能设计是否有偏差。

 

美术所制作的白膜场景在得到策划确认后,原画师和模型师这时就会介入,并在第三步的阶段,完成原画细节设计、模型粗贴、关卡场景深入等操作。策划也会在这个基础上进一步完善关卡的细节,验证流程是否有偏差。

 

当策划确认关卡没问题之后,关卡制作才会进入到最终的资产化制作。制作完成以后,这些模型才会逐步被整合到产品中。

 


通过这样一个白膜搭建的流程,我们可以避免研发过程中策划同学对关卡进行反复的调整修改,导致资源浪费。另外,我们在进入最终资产化制作阶段之前,基本确定了所有模型近中远的位置,因此我们就可以根据资源的优先级,去调整不同位置模型的精细度,实现对资源量的可控。

 

同时,为了实现设计意图,我们还需要一个关卡编辑器。我们所使用的关卡编辑器内置了上百种的触发器和行为。我们的策划可以根据关卡预设计而随意排列组合出上千种组合,来实现关卡流程。关卡中包括小怪、多种机关、陷阱、空气墙、可破坏物等元素,通过这些元素,策划可以设计出复杂的关卡流程和解谜元素,让整个关卡内容尽可能丰富而不枯燥。

 


04.怪物 AI 的设计与实现


怪物的 AI 表现,是高品质动作手游的另一个设计要点。而我们在这方面,则是采用了行为树(Behaviour Tree)的方案。




这里先讲解人物行为的基本流程:某个单位,通过某种方式进行决策,决策的结果生成指令后进入队列,然后依次执行。对于玩家操作的单位来说,决策者是玩家的输入信息,比如拉摇杆是移动,按攻击键是释放技能;而对于怪物来说,就是它的行为树进行决策生成指令。

 

在项目的开发的过程中,我们首先要有的就是 AI 编辑器和 AI 追踪器——编辑器用来对具体 AI 行为进行编辑,而追踪器用来验证。通过这套工具,我们可以对 AI 的感受体验进行多版本的调整,以达到最优的 AI 解。



05.追求画质与性能平衡的后处理效果

除了动作、模型、关卡、AI 之外,后处理也是《鬼泣-巅峰之战》在研发过程中的重要一环。

我们需要尽可能让游戏贴近主机的画面品质,但同时也需要在高画质与高帧率之间,达成一个平衡。为此,我们基于 Unity Postporcess v2 延展了很多后处理效果,这些方案原理并不复杂,且对性能消耗比较小,结合使用就能呈现一加一大于二的效果。



比如径向模糊、色彩分离、屏幕撕裂等后处理效果,在适当的时候播放,能够整体地提高战斗的表现力和打击感。


 

 此外,我们通过后处理,定制了一些场景特殊效果。比如雨天场景,为了节省带宽,我们没有采用在屏幕上纹理采样的方式来实现雨天效果,而是通过 uv 取余后,将屏幕切割成多块,实现雨滴流动效果,再在屏幕四周加上白色效果,模拟玻璃上雾气,种种效果综合起来后,就能比较真实地表现出雨天的氛围了。

 

雾天效果的话,我们会在场景里采用上帝光配合深度雾、高度雾的方式,与主光源结合,来模拟大气雾效果。总之,在这个项目的制作过程中,我们会先确定场景是战斗场景还是剧情动画里的场景,然后再去匹配不同的后处理效果来实现画质与性能的统一。

 


以上,就是我所分享的内容了。总的来说,《鬼泣-巅峰之战》的整个开发历程,就是借助引擎,在移动端这个有性能限制的平台上进行了适应性开发,以贴近主机级动作手游的品质,最终再现鬼泣「皇牌空战」的魅力。

最新动态