创建角色的技术方面
介绍
你好!我叫 Alexey Vlasov,是 1C Entertainment 的技术艺术总监。自我介绍:我在gamedev工作20多年,开设和管理多家gamedev公司的分支机构,发布了7个成功的项目。我受过大学艺术教育。有关最近项目的更多详细信息,请访问我的ArtStation。
我想告诉你我们最近发布的项目 King’s Bounty II。这是期待已久的传奇国王赏金视频游戏系列的续集,是回合制 RPG 类型最具标志性的代表之一。许多年后,我们面临着一个数量级更艰巨的任务。我们必须在所有主要平台(Xbox One、PlayStation 4、Nintendo Switch、Xbox Series X、Xbox Series S 和 PlayStation 5 通过向后兼容性)上发布该项目,而不仅仅是 PC。这在一定程度上是对团队专业技能的挑战。该项目的整体制作耗时约 4 年。考虑到制作之初只有一台PC原型机,这对整个1C娱乐团队来说是一个巨大的挑战!
技术方面
让我们深入研究该项目的一些技术方面,看看我们能够实现哪些有趣的目标:
King’s Bounty II 中植被的所有几何形状和纹理都是程序生成的。这约占环境内容的 95-98%。例如,创建圣诞树的过程从对几根针进行建模开始。起初,这似乎是多余的,但实际上,它可以非常准确地控制树枝的密度和形状,然后将它们烘焙成适当的纹理。《无人深空》是这种技术的一个很好的例子,但它肯定有更多风格化的图形。我们必须平衡项目的现实主义和游戏目标,以及总体艺术指导。为此,我们构建了一个由 SpeedTree、Substance Painter 和 Substance Designer 组成的灵活管道。这为所有平台的所有优化级别提供了很好的控制。应程序员要求的批处理和优化过程是轻松的。只有在极少数情况下(大约 2-3%),我们才不得不为 Nintendo Switch 单独调整现成的模型。在 9 个月的时间里,我对游戏的所有植物进行了彻底的重新设计和适应,以适应各种平台,这很有趣。
King’s Bounty II 中的草值得特别注意。每一片草叶,每一朵花,甚至有些地方的花瓣,都有自己的生命。所有这些都是动画并随风移动。我们已经构建了一个丰富的工具包来调整影响参数。为此,我们必须修改 UE4 的 Pivot Painter 2 以使其具有高性能并在 Xbox 和 PlayStation 4 上使用合理数量的资源。
为了给树上的每一片叶子设置动画,开发了 UVW Pivot Animation 机制。在游戏机上,这种方法最早在《终极蜘蛛侠》中使用。基本上,它是 UVW 坐标的逐像素变换。纹理定义了可以相对于这些坐标旋转的叶子基部的坐标。使用更多的蒙版,我们设置了旋转度、随时间的偏移差异,最后是深度偏移以使事物更厚。这使得植被动画更加逼真。不幸的是,由于时间限制,我们无法为 的所有植被添加此功能,但我们计划在下一个附加组件中添加此功能。
皮肤和头发着色器得到了改进。遗憾的是,库存着色器仅适用于 PC 上的高设置。在游戏机上,存在阴影问题、点光源漏光、眩光补偿、透明度排序以及更多有趣的小东西。这花了我们很多时间和精力,但结果是,我们的头发和皮肤不仅在 PC 上而且在游戏机上都可以很好地工作。
有很多角色,因为这是一个拥有广阔RPG世界的游戏。如果算上游戏人物、城市市民,总共有超过1300个角色。所有这些都必须在不到一年半的时间内制作完成,这是一个严峻的挑战。有很多权衡,但最终,我们能够按时发布,并在令人印象深刻的平台列表中发布。
值得一提的有趣事情之一是我们为所有角色设置了一个骨架。男女皆宜,厚实、高大、丰满。使用骨骼,我们可以改变比例,从而达到预期的效果。这使我们能够在角色制作速度方面找到折衷方案。毕竟,除了角色之外,我们还有衣服、物品和车身套件。听起来很简单,但这个灵活的系统为我们节省了大量时间。我们不必将衣服和物品调整到不同的尺寸、高度和身体比例。它们会自动重新调整为适当的骨骼比例预设。
鉴于易于实施,我们能够毫无问题(或几乎没有问题)地满足 Nintendo Switch 的系统要求。为了缩短开发时间,我们还为 3D 扫描头使用了现成的解决方案。
头发,或者说发型,在任何游戏项目中都是令人头疼的问题。我们的系统基于Houdini的发型生成工具。Houdini 足够灵活,可以在发型最终外观的刀片生成过程中控制三角形的数量。
我们还轻松地将所有必要的信息添加到顶点通道,与 3ds Max 和 Maya 不同,它方便快捷。由于对 Nintendo Switch 的三角形数量有严格的要求,我们不得不使用 blob 生成类似的发型,并从高多边形发型到最终的简化头发。
我们设法满足 Nintendo Switch 的严格要求,并确保它在这个复杂的平台上表现良好。同时,我们设法保持了项目发型的数据一致性(平台的 SVN 分支的完整性和缺失)。总的来说,我们尝试遵循以下规则——一个项目,一个内容,适用于所有平台。这使我们在许多情况下可以专注于单一平台,从而节省了大量程序员和美工。UE4 非常适合 PC 项目,但控制台需要特别注意。您必须对内容和代码非常小心。有时你可以按时做事,有时你必须妥协。
结论
我碰巧加入了 King’s Bounty II 团队,在优化和调整控制台内容、开发多平台解决方案、编写控制台特定图表、重新制作环境内容等阶段。但我很高兴成为 1C 的一员和我的同事一起娱乐并发布这个项目。我要亲自感谢艺术总监 Alexei Vakhrushev、首席技术艺术家 Oleg Pivovarov、项目总制片人 Denis Maltzev、Pavel Ovchinnikov、Vitaly Kovalevsky、Vladimir Shirshov、Denis Prokhodtsev、Zarina Babaeva、Igor Khudaev、Ivan Alkhimov 和 Alexander斯默廷。总的来说,我要祝贺整个团队的项目发布,并感谢他们的信任。