
Gaurav Gomes 向我们讲述了在虚幻引擎中创作的女弓箭手项目,分享了多层服装和纹身的制作,并展示了高模的制作。
介绍
我叫 Gaurav Gomes。我是一名 3D 角色艺术家,拥有迪士尼和乐高的 3D 动画节目的视觉开发经验。从小我就喜欢画我最喜欢的电影、视频游戏和动漫中的角色。我记得第一部《钢铁侠》电影和《战神》游戏中的疯狂视觉效完全震撼到了我。这让我对创作这样的作品背后的过程非常好奇。

弓箭手
该项目的目标是紧密遵循 2D 概念艺术来制作 3D 角色,并为我的实时角色组合增加细节。由于我已经制作过一个具有许多硬表面元素的未来科幻男性角色,因此这次我想通过制作完全不同的东西来推动自己。所以我采用了具有有机元素的中世纪女性角色的想法。我还设置了以下设计标准来指导该过程:
·逼真的设计
·各种面料和皮革材质
·人物纹身
·角色身上的伤痕
·一系列配件和武器
·长发
这些标准旨在帮助我练习特定的技巧,最终创造出一个我认为看起来会很引人注目的角色。考虑到这些因素,我开始寻找完美的原画。在网上浏览了无数的设计后,我偶然发现了Sanchit Chaudhary 的《Archer》,我觉得它非常适合。它满足了我所有的要求,并且角色设计很有趣。在确定了概念后,我收集了其他参考资料来帮助完成角色的各种细节。

高模
全套服装
我开始在 ZBrush 中使用基本球体勾勒出身体比例。然后我使用 DynaMesh 将它们合并,并进一步细化解剖结构。对于解剖参考,我依靠真人的图像和 3D 扫描,我强烈推荐《雕塑家解剖学》一书,因为它对人体形态进行了清晰的分解。

完成身体部分后,我使用 Marvelous Designer 快速制作了衣服,在衬衫袖子、披肩、腰带和皮袜等部位,MD制作有逼真的褶皱,这为我在 ZBrush 中进一步完善奠定了基础。

接下来,我将 Marvelous Designer 中的布料模型导入 ZBrush。我们从 Marvelous Designer 获得的默认模型并不适合雕刻。因此,为了使其可用,我使用了以下步骤:
1.复制了 Marvelous Designer 模型作为子工具并使用 ZRemesher 来改善雕刻的拓扑并降低多边形密度。
2.使用 ProjectAll 函数将细节从 Marvelous Designer 网格传输到 ZRemeshed 网格。
3.对 ZRemesh过的模型进行四次细分,每次细分后投射细节,以尽可能准确地捕捉细节。

用 ZRemesher对所有布料进行适当的细节和细分后,就可以开始雕刻了。我主要使用 Standard、DamStandard、ClayBuildup 和 Move 笔刷来细化衣服。雕刻时,我专注于布料体积、褶皱张力和压缩。对褶皱满意后,我使用 Panel Loops 增加了衣服的厚度。
1.我首先删除了所有较低的细分以准备制作厚度。
2.在面板循环选项中,将循环设置为八,以便稍后恢复原来的四个细分级别。
3.调整斜面和仰角以获得所需的形状,并将抛光设置为 2。
4.调整厚度值并应用面板循环,重复直到达到所需的厚度。
5.使用重建细分按钮恢复细分级别。

我角色上的所有其他元素,包括皮带、腰带、臂带和鞋子,都是通过遮罩其形状并将其从基础网格中提取出来,然后进行 ZRemeshing 并增加厚度而创建的。
在概念图上,弓箭手穿着一件带衬垫的夹克。经过一番快速搜索,我发现这种服装叫做 gambeson,一种传统上作为护甲穿着的防御夹克。在我角色的夹克上实现衬垫效果非常有趣。以下是制作 gambeson 的过程:
1. 我首先从 Marvelous Designer 网格中去除所有褶皱,以创建出一个光滑的表面以便进行细节处理。
2. 使用 3D 平片创建填充表面的模型。
3. 将文档分辨率设置为 2048 x 2048,并调整 3D 平片以适合框架。
4. 通过导航至 Alpha > Transfer > GrabDoc 提取 alpha。

5. 使用 ZPlugin > UV Master > Unwrap 为夹克生成快速 UV。
6. 使用“Surface”>“Noise”应用填充的 alpha。
7. 使用表面噪点菜单中的强度和噪点曲线对效果进行微调。
8. 使用“应用于网格”永久应用效果,然后增加夹克的厚度。

这套服装的每一部分都经过多次雕刻,包括清理和添加细节,例如记忆褶皱、折痕和磨损。我在 ZBrush 中雕刻了主要和次要细节,并计划在纹理过程中添加针脚和织物图案等第三级细节。

脸部、手臂和手部
雕刻脸部是我最喜欢的角色创作部分之一,因为它通常是焦点,并为我提供了练习雕刻基础知识的好机会。在制作任何相似之处时,从多个角度获取脸部参考是必不可少的。即使我的角色不需要完全一模一样,我仍然会寻找与我的概念艺术中的脸部特征相似的女性脸部的正面和侧面轮廓图像。以下是我用来实现具有所有微小细节和瑕疵的脸部最终版本的步骤:
1. 在 DynaMesh 模式下雕刻脸部,以捕捉相似之处。
2. 将头部的抽取版本导出到 Maya,使用 Quad Draw 进行重新拓扑,然后使用 UDIM 展开 UV(一个用于脸部,每个手臂和手一个)。
3. 将重新拓扑的带有 UV 的网格导入回 ZBrush,对其进行细分,并从原始雕刻中投射细节。
4.通过打破对称性和调整特征来细化脸部。
5. 使用 ZWrap 插件将 VFace 网格(带有 TexturingXYZ 贴图)包裹到我的脸部雕刻上。
6. 将模型带入 Mari,投影 Texturing XYZ 纹理,并导出置换贴图和albedo图。
7. 使用 Photoshop 将纹理 XYZ 置换图的 RGB 通道分成一级、二级和三级版本,以便在 ZBrush 中更好地控制。
8. 使用 ZBrush 的图层分别应用三个位移图,以便更好地控制细节。

9. 使用标准、DamStandard 和 ClayBuildup 笔刷雕刻疤痕和皱纹等其他细节。10. 使用 Morph Target 和 Morph Brush 实现非破坏性工作流程,可以轻松删除手动添加的细节,而不会影响纹理 XYZ 数据。

我对手臂和手部也采取了同样的处理方法,但为了避免笔记本电脑崩溃,我在一个单独的 ZTool 文件中处理它们。在为脸部、手臂和手部添加了所有精细细节后,我烘焙了存储在其图层中的细节,从 ZBrush 导出法线贴图,并抽取网格以进行更轻量的导出。


低模
我的低模包括服装、武器(弓、箭、剑和鞘)的重新拓扑版本、头部、手臂和手的低多边形版本(源自 ZBrush 雕刻的最低细分)以及发片。
为了制作服装的低模版本,我首先导出所有高模的精简版本,确保它们正确命名,后缀为“_high”,以表明它们是高多边形版本。然后,我将它们导入 Maya,在大纲视图中根据我打算在纹理处理期间使用的纹理集将它们组织成组。例如,我将所有服装部件、皮革元素和武器分别分组。组织完成后,我隐藏了除即将重新拓扑的部分之外的所有部分,播放一些好听的音乐,然后开始使用 Quad Draw 工具重新拓扑。
以下是我遵循的一些步骤,可以使低模创建过程更顺畅并获得更好的输出:
1.为了节省时间和精力,我尽可能使用零件的最低细分版本来创建它们的低模版本,然后通过删除任何不必要的边缘来进一步优化它们。我使用这种方法创建了背带、腰带和护臂的低模版本。
2.我开始重新拓扑,创建更大的四边形以覆盖最大面积,同时创建适当的循环以使边缘流动。然后我开始根据需要添加边缘循环,以更好地捕捉模型的轮廓。
3.我的目标是使整个网格的四边形大小均匀一致,以便更好地进行纹理映射。为此,我在四边形绘制模式下平滑网格,并使用软选择(按 B)快速平滑较大的区域。
这些武器是用 Maya 建模的,因此它们已经具有优化的拓扑结构,我将其直接用于它们的低多边形版本。完成所有部件的低多边形版本后,我使用后缀“_low”对它们进行了适当的命名,以表明它们是低多边形版本,并将它们组织成组,复制高多边形版本的结构。

头发
这是我第一次使用发片制作长发,这使其成为角色创建过程中最具挑战性和最耗时的部分。为了更好地了解头发的体积,我先在 ZBrush 中粗略地雕刻头发。然后,我将这个雕刻导入 Maya,将其添加到显示层,并将其设置为模板(“T”)。这有助于我将其用作参考,以便更轻松地塑造头发卡的体积。
我使用 FiberShop 生成头发卡片纹理。我喜欢它的程序化工作流程。在 FiberShop 中,我为不同目的创建了几种不同的发束,包括:
·浓密的发丝:覆盖头皮。
·中等密度的发束:塑造头发的整体体积。
·轻密度发丝:细化发际线并改善头发和皮肤之间的过渡。
·散落的发丝:为了增加分解效果和真实感。
·较小的发束:用于眉毛和睫毛。

我从 FiberShop 导出了反照率、环境光遮蔽、法线、流动和 alpha 贴图。
纹理准备就绪后,我使用 Maya 中的 GS CurveTool 插件生成一组头发卡,并将其 UV 与我制作的纹理对齐。然后我开始分四个阶段将头发片放在头上:
1.头皮覆盖——我放置了最浓密的头发卡来覆盖头皮,同时在头发分开的地方留出空间。
2.打造蓬松感——我使用了三到四层中等密度的发卡来塑造整体发量。
3.皮肤过渡——我在头发直接从皮肤生长的区域使用了更细的线束,从而在头发和皮肤之间创造了更平滑的过渡。
4.散落的头发和面部毛发——我添加了最薄的发片,用于处理散落的头发、眉毛和睫毛。
在头发放置过程中,我还使用头部网格、头发纹理和发片在 Marmoset Toolbag 中设置了快速预览。我不断更新它以检查头发层在实时照明下的样子,确保最终结果更准确。完成头发放置后,我使用 Maya 的 Reduce功能(网格 > Reduce)降低多边形数量,同时保留轮廓,还创建了一个新的 UV 集,用于为单个发片烘焙 AO。我按照 TriGon 的视频(https://www.youtube.com/watch?v=vQcZNIFdzbo&t=6332s)为我的发卡创建了 AO 烘焙。
GS CurveTool 显著简化发了发片的工作流程。使用此工具的最大优势是它将发片绑定到曲线上,使它们更容易使用曲线点进行操作。我最喜欢的一些功能包括同时修改多个发片的形状,并自动用其他头发卡填充它们之间的空隙。对于任何有兴趣了解更多信息的人,我建议查看 George Sladkovsky 的YouTube 频道,他是该工具的制作者。

UV
我使用 Maya 的 UV 编辑器为角色制作了 UV,并根据完成低多边形模型后最终确定的纹理集对其进行组织。具体来说,我为服装创建了四个 UV 集,为头发创建了一个 UV 集,为头部、手臂和手创建了三个 UDIM。细分如下:

我根据材质类型和服装位置对 UV 集进行了分类,以帮助简化纹理处理过程,确保更好的材质一致性和组织性。以下是我在展开 UV 时要记住的几件事:
·战略性 UV 切割 – 我会尽可能将 UV 接缝放置在不太显眼的区域。对于服装,我将接缝放置在真实缝合的位置。
·一致的纹素密度——切割和展开 UV 后,我确保所有共享相同材质的外壳具有均匀的纹素密度,以实现一致的纹理分辨率。
·优化的 UV 布局——一旦设置了纹素密度,我就会将所有 UV 壳缩放到一起,通过允许最大的壳占据最大的面积,同时按比例排列其周围的其他壳,最大限度地利用空间。
·正确的 UV 方向 – 我对齐 UV 壳,以便任何应用的具有垂直或水平图案的纹理自然遵循正确的方向。这最大限度地减少了纹理处理过程中的手动调整。
纹理
纹理是一切开始融合的阶段,我终于可以开始将角色的最终形态可视化了。对于弓箭手,我将纹理工作分成两个单独的 Substance 3D Painter 文件,一个用于服装和武器,另一个用于皮肤部分。
脸部、手臂和手部纹理
我开始皮肤的纹理处理,方法是将 ZBrush 和 Mari 中的法线和反照率贴图(albedo)导入 Substance 3D Painter 中。接下来,我使用法线贴图中的细节烘焙了所有必要的贴图。为了确保烘焙后的贴图保留了法线贴图的细节,我在烘焙设置中 选中了使用低模作为高模包裹。
·我使用 AO、污垢蒙版和污垢刷来添加颜色分解、皮肤晒黑和疤痕痕迹。
·我通过创建具有所需颜色的填充层、为这些区域绘制蒙版并将混合模式设置为柔光来调整嘴唇和泪线区域的颜色。

·为了模仿真实皮肤中的镜面破裂,我使用曲率图为皱纹和毛孔构建了粗糙度蒙版,并使裂缝比凸起部分更粗糙。
·我还手动绘制了一些粗糙度分解,以复制油性和镜面皮肤区域,如脸颊、鼻子、嘴唇和泪线。然后将其混合模式设置为叠加,以便更好地与微观细节融合。

·对于右臂上的纹身,我使用了网上找到的一只真正的麻雀纹身。虽然缺少一些细节,但我很喜欢这个设计。
·我使用 Photoshop 将其转换为黑白 alpha,然后在 Substance 3D Painter 中将其用作蒙版并手绘所有缺失的细节。

·最后,我使用厚度图创建了一个黑白的次表面散射蒙版,稍后我会使用它在虚幻引擎中创建皮肤材质。
服装纹理
我开始为服装添加纹理,确保我的低模和高模在 Maya 中分配了单独的材质,并分别使用适当的名称和后缀“_low”和“_high”。将低多边形模型作为 FBX 导入 Substance 3D Painter 后,我通过烘焙菜单导入了高多边形模型。然后我烘焙了所有必要的贴图,确保烘焙设置中的匹配选项设置为按网格名称,以避免任何烘焙瑕疵。
对于这种资产的纹理,我的一般方法是从干净或新的外观开始,然后逐渐添加风化层和瑕疵层来传达其年龄和状况。
·首先,我使用 Substance 3D Painter 库中的材质为服装的每个部分分配了织物、皮革和金属等基础材质,并调整它们的粗糙度以获得相当新的外观。
·为了确保材质的比例与模型相匹配,我使用了材质属性的 UV 变换选项卡中的“物理尺寸”选项,因为我的模型是按照正确的比例创建的。
·我通过添加 alpha 纹理和从其他智能材质中偷来的蒙版来改进材质,以复制我参考资料中的表面属性。在此阶段,我还手绘了缝线和边缘磨损等细节。
·为了在柔软的表面之间创建逼真的互动,我在织物和皮革上添加了凹凸细节,以模拟它们被紧紧包裹时的压缩效果。我使用 AO 贴图作为高度贴图来推入覆盖区域,并应用了变形滤镜来创建自然的分离效果。
·我开始通过分层瑕疵(例如阳光损伤、污渍、污垢和灰尘)来添加风化效果,主要在反照率和粗糙度通道中。
·第二层风化涉及添加更明显的细节,例如反照率、粗糙度和高度通道中的划痕、裂缝和磨损。
·对于所有风化效果,我要么使用 alpha 蒙版,要么使用智能蒙版,要么使用手绘蒙版,具体取决于效果的具体类型。
·为了更好地融合风化细节,我将某些图层的基础颜色和粗糙度通道的混合模式设置为叠加或柔光。

完成皮肤和服装部分的纹理后,我将反照率、法线、SSS 权重和 ORM(遮挡、粗糙度、金属)贴图导出为 4096 分辨率 PNG,以供虚幻引擎使用。
虚幻引擎设置
由于我正在创建一个可用于游戏的角色,因此我选择在虚幻引擎 5 中展示它。导入角色网格和纹理后,我将它们组织到专用文件夹中,并根据需要创建新文件夹以保持所有内容的结构化。
材质
我首先使用从 Substance 3D Painter 导出的纹理为每个纹理集创建材质。最复杂的材质是皮肤。我按照 YouTube 上 J Hill 的Unreal Engine 5 中的渲染角色教程进行操作,该教程帮助我实现了粗糙度、法线、次表面散射、微法线和桃色绒毛的可调参数。我特别喜欢使用微法线贴图来添加更精细的皮肤细节并使用反照率纹理来模拟绒毛的方法。


确定材质后,我创建了材质实例并将它们分配给各个角色部分。对于外观开发,我使用了 PolyHaven 的工作室灯光 HDRI,并微调了粗糙度、镜面反射度、法线强度和 SSS 等材质属性,直到它们看起来自然。对于眼睛,我使用了 MetaHuman 眼睛网格和材质,将左虹膜修改为蓝色阴影,并赋予右眼浑浊、盲目效果。

照明与渲染
材质外观确定后,我在虚幻引擎中创建了一个新关卡,用于最终渲染。我添加了摆好姿势的角色和更新后的材质,并设置了一个基本的三点照明系统(主光、补光和边缘光),以及用于腿部和地面的附加灯光。我的目标是复制概念艺术的戏剧性灯光,强调强烈的定向光和对比度。
为了改善构图,我整合了 Quixel Megascans 中的资源,以森林地面为基础,并用岩石、植物、蘑菇和动物头骨装饰,以增加视觉趣味。我还引入了大气元素,例如背景尘埃云(使用平面上的 alpha 纹理)和使用 Niagara 系统创建的漂浮尘埃颗粒。
对于最终的镜头,我设置了多个摄像机,调整每个构图的焦距和光圈。然后,我使用后期处理体积应用了细微的色彩分级,一旦对整体外观感到满意,就使用虚幻引擎的内置屏幕截图功能渲染高分辨率静态图像。

文章转载自
Thepoly