怪物AI的实现《鬼泣-巅峰之战》追求画质与性能平衡的处理

更新时间:2022-03-28 17:20:18来源:土鳖小屋作者:小编宇辰

 9月25日,云畅游戏科技负责人刘晨受邀参加2021北京国际游戏创新大会(BIGC),分享《鬼泣-巅峰之战》高质量发展历程会议的特别引擎会议。 .

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

 随着市场环境和用户需求的变化,建立主机级手游项目逐渐成为趋势,整个手游技术不断向3A方向发展。云畅游戏在这一领域有一定的实践和积累。相信其技术总监的分享能给业界带来一些启发。

image.png

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

 该项目有四个主要亮点:

 一是还原顶级动作IP《鬼泣》移动端体验之战;

 二、基于Unity打造主机级3D视觉效果;

 三、不同于一般的动作手游,它打破了“跳跃”的束缚,让“Z轴战”首次登陆移动端;

 最后,基于“跳跃”机制,实现了三维尺度的复合空间场景。

image.png

 由于移动端性能的限制,主机级手游的开发是整个行业的通病。所以,今天我就以此为主题,分享我们在《鬼泣-巅峰之战》中的一些尝试和技术方案。

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

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

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

 第一层是内层,是一个相对固定的防止霉菌穿透的层,它的质地处于不透明状态。

 第二层是外层,用来塑造人物的基本造型。因为需要恢复角色的发质,所以这一层的纹理会更加丰富。

image.png

 第三层是修改层,用于修改形状和添加细节。

 通过这三层的结合,我们基本可以展现出人物原本的发型和发质。

 对于角色皮肤的制作,我们使用了预集成皮肤次表面散射 lut 贴图的 SSS 效果。而在色彩表现上,尽量表现出写实硬朗的风格。

 一是还原原著《鬼泣》的黑暗哥特风格;人物造型做出区分。

 为了让角色融入场景时显得更加立体和生动,我们在场景中预设了一个微调GI的面板,用于调整角色进入不同场景后的效果。经过微调,人物更自然地融入场景。

 鬼泣系列是ACT游戏的标杆产品,对角色动作的表现有着非常高的标准。这不仅体现在华丽的技能动作设计和攻击感上,也体现在人物的走、跑、跳等基本动作上。

 因此,对于行动的呈现,我们的原则必须是流畅和合理的。我先以游戏中的主角之一维吉尔为例来说明我们想要达到的效果。

image.png

 在人物从静止到待机,从慢跑到跑到加速跑的整个过程中,不同的速度,会有一系列的联系。为了达到平滑的运动效果,数值会体现在速度的梯度上,再配合BlendTree(混合树)的设置实现平滑的变化,尤其是空中运动和地面运动的无缝过渡。

 另一方面,原版鬼泣的动作设计也复杂而酷炫。以主角但丁为例,他也可以一边移动一边使用枪械进行攻击。

 为了展示角色的射击行为,同时也能接收到玩家的动作操作指令,我们增加了动作分层处理方式,角色上身抬高。射击区域与下半身、腿部运动的区域分层融合,反馈玩家的输入,最终实现一套完整的复杂动作行为处理。

 第三个方面是如何让这款游戏的动作体验更加流畅,让玩家感觉不到角色动作的生硬。对此,我们特别注重动作切换的流畅性能,并制定了一套生产标准。

 我们将所有动作资源分为“基本动作”和“行为动作”。

 基本动作主要是指角色的待机、移动、转身等,待机时应该没有明显的大动作,而行为动作主要是指角色的行为,如释放技能、接点击、与场景互动等。

image.png

 对于基本动作,任何动作的开始和结束都应该是备用动作。这对待机行为有一个标准要求:不能有特别明显的大动作。此外,运动必须有相应的速度,为了使 BlendTree 生效,它们的整体规格必须相同。例如,需要考虑角色是先踩左脚还是先踩右脚的问题。

 至于行为动作,我们可以进行二次细分,分为主动行为动作和被动行为动作。无论是主动还是被动,我们在动作设计中的客观要求是提供及时的反馈。因此,在进行动作切换配置时,我们缩短了动作和动作融合的时间,并在动作和动作中加入了逻辑中断,切换定时控制,使角色的攻击和攻击更加真实和即时。

 对于市面上大部分的ARPG或MMO来说,关卡的设计流程会比较简单,对应的工作流程通常是先规划好平面图,然后美术输出模型拼接,再由设计师搭建关卡流程。规划师和验证。但这样的流程并不适合《鬼泣》等3D动作手游,而且由于加入了“Z轴战斗”,其关卡设计会更加复杂。

 所以在制作过程中,我们探索了一套基于立体尺度、丰富多样玩法的关卡构建流程。我们还是希望在手机端实现3D级的设计,比如关卡机关、路线、怪物生成点、宝箱点等。但挑战在于策划和美术需要更加紧密的配合,关卡设计过程将变得更加复杂。

 首先,规划会根据功能玩法需求搭建白片,并在白片的基础上设计关卡的主要路线和区域,并用一些简单的表达方式表达当地的玩法。

 第二步,美术师将提升白膜级模型的精细度,展示美术团队的设计理念和理念。制作后的白片场景比较精细,辅以灯光和氛围等环境,便于规划验证之前的功能设计是否有偏差。

image.png

 美术出品的白片场景得到策划确认后,此时原画师和建模师介入,第三阶段完成原画的详细设计和建模。粗粘贴、水平场景深度等操作。在此基础上,规划将进一步完善关卡细节,验证流程是否有偏差。

 当计划者确认关卡没有问题时,关卡生产将进入最终资产生产。生产完成后,这些模型将逐渐融入产品中。

 通过这样的白膜搭建过程,可以避免规划学生在研发过程中反复调整修改关卡,造成资源浪费。另外,我们进入在最终的资产化生产阶段之前,所有模型近、中、远的位置基本确定了,所以我们可以根据资源的优先级来调整不同位置模型的精细度,从而控制出的数量。资源。

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

 怪物的AI表现是高品质动作手游的另一个设计点。对此,我们使用行为树(Behaviour Tree)方案。

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

image.png

 在项目开发过程中,我们首先需要的是一个AI编辑器和一个AI追踪器——编辑器用来编辑具体的AI行为,追踪器用来验证。通过这套工具,我们可以调整多个版本的AI体验,达到最优的AI解决方案。

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

 我们需要让游戏尽可能接近主机的画质,但同时也需要在高画质和高帧率之间取得平衡。为此,我们在 Unity Postporcess v2 的基础上扩展了很多后处理效果。这些方案的原理并不复杂,性能消耗也比较小。用它来呈现一加一大于二的效果。

 可以适时发挥径向虚化、分色、画面撕裂等后处理效果,可以提高战斗整体的表现力和冲击力。

 另外,我们通过后期处理定制了一些场景特效。比如在下雨天的场景中,为了节省带宽,我们没有在屏幕上使用纹理采样来实现下雨天气的效果,而是通过uv取余后将屏幕切割成多块来实现雨滴的效果流动,然后在屏幕周围添加白色。效果是模拟玻璃上的雾气。各种效果组合后,可以更真实地表现下雨天的气氛。

image.png

 对于有雾的天气效果,我们会在场景中使用神光与深度雾和高度雾的组合,结合主光源,模拟大气雾效果。总之,在本项目的制作过程中,我们会先判断场景是战斗场景还是剧情动画中的场景,然后搭配不同的后期处理效果,达到画质和性能的统一。

 以上就是我这次分享的内容。总的来说,《鬼泣-巅峰之战》的整个开发过程都是基于强大的Unity引擎,在移动端性能受限的平台上进行自适应开发,从而接近主机的品质级动作手游。 ,终于再现了鬼泣“王牌格斗”的魅力。

上一篇:出货量突破《怪物猎人:崛起》狩猎技巧和策略掌握得更加纯熟

下一篇:惊异细节《塞尔达传说:荒野之息》声音引导下展开全新的冒险

相关资讯