《Śankh》道具制作解析:从 ZBrush 雕刻到 Marmoset UDIM 烘焙的完整流程

AI3D 发表于 5 天前 浏览 1 分类 新闻资讯

简介

大家好!我叫 Oleksandr Yavorskyi。

我是一名专注于道具与贴图的 3D 艺术家。八年前我还在上大学时就开始学习 3D,过去四年我一直在这个领域工作。

视频

目标

主要目标是为我的作品集创作一些有趣的内容,并提升我的贴图技能。

我想创作一件独特的作品,将对比鲜明的材质、复杂的形状和精致的装饰细节结合在一起。

Śankh
Śankh

工具

  • Blender:建模
  • PureRef:参考图板
  • ZBrush:雕刻
  • RizomUV:UV 展开
  • Marmoset Toolbag:烘焙与渲染
  • Substance Painter:纹理制作
  • Topaz Gigapixel:放大参考图
  • Photoshop:制作模板

参考素材

为了给我即将进行的项目寻找参考和灵感,我会使用博物馆和拍卖网站。通常可以在那里找到独特的物品,而且图片往往有高分辨率版本,这在用它们制作 alpha 遮罩时非常重要。

对于这个项目,模型本身的参考图片已经足够了。为了获得关于深层污垢的额外参考,我搜索了 ArtStation,挑选了与我的作品相似的作品。

Śankh

粗模与建模

这两个阶段被合并了,因为大部分的几何体工作都是在ZBrush中完成的。

在粗模阶段,我根据参考创建了一个粗略的模型,只关注整体形状,没有添加任何额外的细节。

Śankh
Śankh

我还制作了几个装饰元素的变体,并将它们与其他装饰元素一起放置在模型表面。为此,我使用了阵列修改器(Array Modifier),随后配合预先创建好的曲线使用曲线修改器(Curve Modifier),把它们定位到我想要的位置。

Śankh

所有 blockout 对象都应用了细分曲面修改器(Subdivision Surface Modifier),并标记了折痕边以保留锐利边缘。之后它们被导出到 ZBrush 进行进一步的 Remesh(重网格处理)。

雕刻:高模

这个项目显著提升了我的雕刻技能。我大量使用图层:它们让我可以保存新的改动,并在需要修正时回到之前的阶段。

Śankh
Śankh

在这个阶段,我制作了雕刻纹样细节、机械损伤和金属腐蚀。我使用 CurveStandard 笔刷雕刻纹样,它可以绘制曲线并调整其轮廓、大小和笔触强度。

视频

对于圆柱部分的纹样,我使用了同一款笔刷并开启径向对称。我还稍微偏移了对称中心,这让部分线条变得不那么均匀。

Śankh

我使用 DragRect 笔触制作了做旧金属表面。对于 alpha 遮罩,我使用了 Quixel Megascans 库中的泥土与碎石 Height 纹理。

在 Photoshop 中,我把方形纹理转换为圆形纹理,并稍微压暗其边缘,以避免应用时出现可见接缝。通过调整笔刷强度和强度,我得到了理想的金属腐蚀效果。

Śankh
Śankh

完成细节后,我沿着边缘添加了损伤,包括凹痕和崩口。如果我对某个区域不满意,我会禁用当前图层,存储 Morph Target,然后重新启用该图层,并细化有问题的区域。

视频

我给壳体添加了几处深裂缝、错位和增生。我计划在 Substance Painter 中制作剩余的细节。

为了做出壳体上标志性的凸起结构,我遮罩了一小块区域,用 Move 笔刷将其拉出,然后稍微平滑边缘。

Śankh

其余雕刻流程遵循相同的原则:在某些区域添加损伤,在物体需要更自然衔接的地方堆叠几何体,并在必要时移动或拉出个别部分。

Śankh
Śankh
Śankh

低模(Low Poly)

为了加快重拓扑流程,我使用了 RetopoFlow 插件。我认为对于作品集项目来说,标准的 Decimate 流程可能已经足够,而且还能节省时间。

但那样的话,模型可能会有更多多边形,出现着色问题,并且更难展 UV。对我来说,在流程的每个阶段检查结果都很重要。

Śankh
Śankh
Śankh
Śankh

UV 与烘焙

我在 Blender 中标记了所有 UV 接缝和硬边。展开和打包在 RizomUV 中完成。凡是可能的地方,我都尽量拉直 UV 岛屿,以便更有效地利用纹理空间。

经过多次测试烘焙后,我确定了自己需要的纹素密度。基于此,我最终确定了纹理集数量:主模型四个,底座一个。

由于这是一个作品集项目,对我来说,尽可能展示更多细节比尽量减少纹理集数量更重要。

Śankh

我在 Marmoset Toolbag 5 中进行了烘焙。这个版本引入了对 UDIM 烘焙的支持,这对本项目很有帮助。

烘焙后仔细检查模型以查看是否有瑕疵非常重要。就我而言,我不得不反复回去调整低模外壳,使其轮廓更接近高模版本。

Śankh
Śankh

如果你的场景中包含许多物体,我建议建立一套一致的命名规范。例如,为对应的元素组使用相同的基础名称,并添加 _low 和 _high 后缀。这样可以让场景的烘焙设置快得多。

除了标准贴图之外,我还烘焙了一张顶点颜色贴图(Vertex Color Map),以加快遮罩的分布,同时还烘焙了 Cavity 和 Convexity 贴图,它们在创建污垢遮罩时会很有用。

Śankh

贴图制作

由于这个模型的金属部件较多,我从外壳开始进行贴图制作。

首先,我想更详细地说明一下表面处理。外壳具有由层层叠加所形成的波浪状效果,要重现这一效果需要一种稍微不太常规的方法。

Śankh

在 Quixel Megascans 材质库中,我找到了“Fresh Windswept Snow”材质,它带有一种纹理,具有合适的波浪状起伏和陡峭的落差。

Śankh

然后,我使用圆柱投影创建了一个材质,并将雪材质的高度贴图附加到它上面。我还在此图层上创建了一个锚点,以便我可以在后续图层中使用它,并使用修改器来强调细节。

Śankh

除了雪材质之外,我还使用了其他几种具有相似表面图案的材质,以在凹凸起伏、颜色和粗糙度上引入更多变化。

视频

接下来,我处理的是连接贝壳与金属的蜡。为了创建遮罩,我使用了 Photoshop 和“色彩范围”工具。

基于这个遮罩,我创建了两个带有不同遮罩的图层:一个实心遮罩用于隔离蜡所在的区域,另一个则带有灰度渐变,用于提供额外的细节。

Śankh
Śankh

我将这些遮罩组合起来,并添加了额外的污渍贴图(grunge maps),以创建具有不同不透明度以及颜色、粗糙度和高度变化的图层。我还经常使用颜色校正滤镜来调整颜色,并引入额外的颜色变化。

最后的蜡层是一个灰尘层。为此,我使用了一个锚点,其中包含我之前添加的高度和法线微细节。

视频

我还把金属分成了两部分:后部的圆柱形部分和前部其余的金属元素。

为了给金属制作纹理,我采用了以下方法:基础色 + 颜色变化、粗糙度和金属效果 + 在 Height 和 Normal 通道上添加细节。

接下来是一个单独的文件夹,里面包含铜绿和污垢,按照同样的逻辑构建:大量变化,并通过 Normal 和 Height 通道强调细节。

视频

前部金属区域在贴图制作上花费的时间最多。

整体流程与背面相同,但我使用了更多种类的材质。为了减少用于颜色变化的图层数量,我在 Base Color 通道中添加了基于渐变的 grunge 贴图,并在其上方放置了一个 Gradient 滤镜,设置我需要的颜色。这些颜色会跟随 grunge 贴图所定义的渐变。

我就是通过这种方式添加了灰尘、污垢和金属氧化效果。你可以在 3D 艺术家 Adrian Roose 的教程中进一步了解这种方法。

视频

我还使用了基于模型参考、在 Photoshop 中通过 Color Range(色彩范围)创建的遮罩。

Śankh
Śankh
Śankh

除了颜色变化之外,我还为表面添加了微划痕,并使用修改器对其进行了强调。这些微小的细节会形成额外的高光和反射。

Śankh
Śankh

为了制作湿污垢效果,我使用了锈蚀材质并降低了其粗糙度。

Śankh
Śankh

最后,我添加了一个带灰尘遮罩的灰色图层,又添加了一个相同的黑色图层,其遮罩向一侧稍微偏移。这营造出由单个灰尘颗粒投下阴影的错觉。

我还想指出,不要过于执着于单件作品,也不要指望它第一次就能做到完美。贴图制作并不是一个线性流程。

有时你需要回到最开始创建的图层并重新处理它们。另一些情况下,你可能需要调整另一个材质,使其与当前材质更好地融合。

最终结果取决于作品的整体质量,而不是孤立地取决于某一个元素。

Śankh
Śankh
Śankh

最终渲染前的细节

完成贴图后,我回到低模,并添加了一个 Lattice Modifier(晶格修改器),对那些看起来过于笔直或过于统一的元素进行轻微变形。

Śankh

有好几次有人问我模型上散布的灰尘颗粒是怎么做的,所以这里说明一下我是如何创建它们的。

Śankh

灰尘颗粒本身是简单的低模形状,而毛发状的细丝则是由面构成的条带。我使用 Geometry Nodes 将它们分布到表面上。

为了防止灰尘出现在整个模型上,我将一张 AO 贴图转换为 Weight Paint 数据,并在 Geometry Nodes 中将其用作遮罩。

YouTube 频道 Mark Alloway 有一个名为 BLENDER: Convert image texture to vertex group 的视频,演示了如何做到这一点。

一个重要细节:为确保 Weight Paint 贴图有足够的分辨率,模型需要具备足够密集的网格。为此,我创建了模型的一个副本,并对其进行了多次细分。之后我将这个副本作为 Geometry Nodes 的基础。

Śankh

该节点设置基于标准的表面分布流程,具体如下:

Śankh

我只解释关键部分。

在 Group Input 节点中,密度参数控制顶点绘制信息的使用。

Threshold 参数定义了 AO 遮罩的阈值:数值越高,能通过选择的表面区域越少,模型上出现的灰尘也越少。相反,数值越低,灰尘就能分布到更大的表面区域上。

视频

Set Position 节点会相对于尘埃粒子的局部坐标,沿 Z 轴对这些粒子进行偏移。

Realize Instances 节点会在修改器应用后,将实例转换为实际几何体。随后,这些粒子可以连同模型一起导出到 Marmoset。

Śankh

渲染

我使用 Marmoset Toolbag 进行渲染。渲染图为 4K,设置如下。

Śankh

我使用 Quixel Megascans 库中主题相似的资产搭建了场景。如果背景在某些镜头中过于突出,我就通过将 Base Color 纹理与 Marmoset 内置调色板混合来进行调整。

Śankh

在灯光方面,我使用了从 Substance Painter 导入的同一张 HDRI 贴图:Gdansk Shipyard Buildings。

视频

结语

基本上就是这些。

也许我忘了提及一些细节,但许多事情都是根据具体情况逐案决定的,取决于工作过程中出现的情形。

感谢你的关注 🙂

相关链接

原文链接:https://gamesartist.co.uk/sankh/

喜欢这篇内容吗?