Mario Greci 创作《英雄联盟》机器人:布里茨
大家好!我叫 Mario Greci,是一名来自西班牙瓦伦西亚的有抱负的 3D 艺术家,主要专注于硬表面和道具艺术。但是,将来我想学习环境艺术并为 AAA 游戏创建场景。
在这篇文章中,我将谈论我的最新作品;Blitzcrank – The Great Steam Golem,我对英雄联盟冠军从基础过程到最终渲染的诠释。

当我在我的第一个环境中工作时,由 Riot Games 和 Fortche 创作的流行动画系列 Arcane 在 Netflix 上发布,我绝对爱上了它。英雄联盟一直是我最喜欢的游戏之一,而 Blitzcrank 是我最喜欢的英雄之一,所以观看该节目促使我开始了这个项目。
为 Blitzcrank 建模是一个非常有趣的挑战,它帮助我提高了 Hard Surface 技能,练习了我在 Zbrush 上学到的一些技巧,还测试了我在金属和旧表面纹理方面的技能。



对于这个项目,我开始收集尽可能多的 Blitzcrank 参考资料。有很多可供选择,但这些是我使用最多的主要参考资料,(还有更多)特别是英雄联盟的官方原画和下面的 2D 概念,它们定义了主要形状和 之后在 3D 模型中反映的形式。
关于材料参考,Pinterest 是一座金矿。您可以找到许多不同的表面和材料,当您尝试在模型上复制其中一些屏幕截图时,它们非常有用。旧引擎、管道或飞机是非常好的参考,可以实现逼真的生锈效果。
良好的研究可以在建模和纹理化时为您节省大量时间和精力,所以对我来说,这是任何项目中最重要的阶段之一。

在整个项目中,我首先使用 Maya 通过 sub-D 建模来创建模型的遮挡和主要形式。然而,我主要使用 Zbrush 来添加额外的细节,用于设计一些复杂的形状并测试不同的想法。我使用 Zbrush 制作高多边形,但在 Maya 上使用支持循环制作了一些更简单的部分。当我有我的高多边形时,我在 Maya 上进行了 retopo,以获得我的低多边形版本的模型。Maya 上的 UV,Substance Painter 中的纹理,Maya 上的 Rig + Animation,然后是 Marmoset 进行最终渲染。
每当我开始一个新项目时,我都会确保工作单位是米,以确保我正在使用真实的单位,并且如果我使用 UV,我将拥有正确的 Texel 密度。


之后,我使用了一个 180 厘米高的人体网格,以获得我的角色有多大以及它在现实世界中的外观的视觉参考。谷歌了一些 Blitzcrank 的资料,我发现他有 270 厘米高,所以知道这一点,很容易确定模型的大小。但是,我将他的身高降低了一点,因为它对我来说似乎很大。

一旦一切准备就绪,我就可以开始只使用图元来制作模型的第一个形状。这是最基本的阶段,但它将定义模型的全局形状。
对从哪里开始有一个清晰的概念是关键,特别是因为如果您在已经添加更多细节时意识到这些措施不是正确的,这可能会令人沮丧甚至更耗时,因此最好花更多时间 在进行下一步之前在这个阶段。

当我对基本形状感到满意并确保遮挡正确时,我使用 Sub-d 建模以概念的基线建立形状。这是我导入时腿部外观的屏幕截图,我正准备将其从 Maya 导出到 Zbrush。


这就是将网格导入 Zbrush 的方式。我导出按部分划分的网格,因此在 Zbrush 上我可以将它们按组拆分并单独处理每个部分。
如果您不知道如何执行此操作,请在 Subtool>Split>Groups Split 中。如果您的模型作为一个单独的部分导出,您可以转到 Polygroup 架子并单击按法线分组,这通常有效,并且是建立多组的一种快速方便的方法。

正如你在下一张图片中看到的,如果我一开始尝试激活 Dynamic Subdiv,我的模型会变得非常柔软并且没有硬边,因为它没有支撑循环。
因此,为了在没有支撑环的情况下保持我的环坚硬,我使用折痕来定义主要形状。你可以在几何书架上找到它们;几何>折痕。我通常将 CTolerance 设为默认值 45,如果我需要添加一些额外的折痕,我会使用 Zmodeler 笔刷并单独选择边缘。之后,当我有折痕时,我会应用动态细分,然后对其进行动态网格化,这样每当我想设计和尝试不同的形式时,我就有更多的自由。

在这张图片中,您可以看到我在整个腿部建模过程中使用的工作流程和工具。我使用 ClipCurve 和布尔值来调整形状并尝试不同的设计和轮廓。然后,使用 Lightbox>Brush>Smooth 上的更平滑的刷子,我清理了脏表面,并使用变形架上的抛光功能平滑了硬边。
基本上,这就是腿部建模的整个过程。在设计手臂和拳头的项目期间重复了这一点。我认为这是一种非常简单快捷的方式来概念化和可视化想法。

这是我在整个项目中使用的主要工作流程。但是我做了一些身体部分,直接从 Zbrush 的基础网格中提取它们。
我在这里做了一个非常简单的解释,说明我是如何使用 extract 和 Zremesher 完成身体的一些主要部位的。

对于低多边形版本的网格,我使用了 Maya 的四边形绘制和我在开始时导入到 Zbrush 的基本网格模型,从哪里开始有一个明确定义的网格。
我本可以优化网格,但由于这是一个作品集,我想尽可能地达到最佳质量。最终的低聚模型有大约 115k-120k tris。此外,有些部分我可能已经清理了一点,但只要它有效并且在烘烤时没有奇怪的工件,对我来说没问题。

对于 UV 工艺,我使用了 Maya,但随后我使用了 Rizom UV 进行包装。我本来可以继续使用 Maya 的,但我看到 Rizom 将它们封装得更好,我决定用它来优化我的 UV 空间。
对于这个项目,我尝试尽可能多地堆叠壳,并尽可能优化 UV 空间。例如,身体有点困难,因为它的下半部分相当多是不对称的,所以正确地组织它是一个挑战。
另一方面,腿、手臂和拳头在两边都是一样的,所以很容易镜像它们并堆叠贝壳。这是其中一个 UV 集的示例。

我使用了 3 个纹理集,我认为我可以进行更多优化,但由于这是一个作品集,我希望获得更多的质量和 TD。
对于烘焙过程,我使用了 Marmoset Toolbag 3。我喜欢使用这个程序,因为由于油漆偏移和歪斜,我可以更好地控制烘焙过程。这是解决烘焙问题的非常方便的工具。
在这个过程中,我总是确保每个低多边形都以 _low 后缀命名,并且它也与高多边形匹配(高多边形版本也必须有他的 _high 后缀)。这样,程序会单独烘烤每一块,并且不会与其他块重叠。
我通常使用 Quick Loader 进行烘焙。如果所有内容都正确命名,它将单独烘烤所有内容。然后我在 Samples 上使用 16x,在 Soften 上使用 0.2,并在 4K 中烘焙 Normals + AO 贴图。对于曲率和其他贴图,我更喜欢在 Substance 上烘焙它们。

对于纹理,我总是调整项目的一些参数。

我喜欢使用 Tomoco Studio,因为它是一个非常简单但有效的 HDRi,只有模型的一侧有灯光。我也想重新分配视野。

此外,我喜欢使用模型的基本颜色,然后开始添加颜色变化和小细节。在这部分,参考是至关重要的,将有助于获得更现实的结果。
我把拳头纹理的制作过程留在这里一点延时。

这是模型的基本颜色。


我不是最好的装配工或动画师,所以我尝试做一个简单的动画,模拟游戏中的 Blitzcrank 待机动作。
这是我用于它的参考。我只是在播放时录制了我的屏幕。

为了创建绑定,我通常在 Maya 上使用 QuickRig 工具,但这不是人类角色,而且在我为骨骼制作引导时它不太适合,所以我必须从 0 开始创建绑定。
这是我完成装备时轮廓线的外观。

Blitzcrank 是一个机器人,因此定义骨骼的权重非常容易,因为没有一个部件必须弯曲或拉伸,所以我只绘制了影响所连接骨骼的网格,它工作得很好。
有了关节、权重和控制器,我只需要为模型设置动画,以尽可能接近地复制参考。尽管我不是最好的动画师,但我尽了最大努力,我对结果非常满意!


我不会在这部分展开太多,因为渲染和演示是一个非常基本的设置。只是和HDRi,一些额外的灯光来获得反射和一些表面的粗糙度和一个阴影捕捉器来复制地板。

感谢每一位读完本文的读者,我真的很感激!我希望您喜欢它,并且我与您分享的一些技巧对您未来的项目有用。

