
引言
大家好,我叫 Yuting。目前在家做环境美术,同时也在找游戏工作室的全职岗位。我从小就喜欢电子游戏和美术,但直到 2019 年报名大阪的一所线下学校,才把它当成一条职业道路来看。
那段时间里,我学会了用 Maya 建模的基础,也接触到了 Unreal Engine 等其他软件。毕业之后,我花了不少时间探索哪个方向最适合自己——从角色美术、动画、VFX 到环境美术。
定下职业方向之后,我意识到自己的技能水平距离行业标准还差得远,于是又通过几个线上工作坊继续提升。它们不只给了我需要的知识,也给了我结识业内人士的机会。
灵感
当时我正在做一个个人项目,里面有一片森林需要一整套地形材质。我把它当成练 Substance 3D Designer 的好机会。除了 ARTStation,我也在 Unsplash 上收集参考,那里有大量高分辨率照片可以放大细看,对做这套材质帮助很大。
到这个阶段,我把参考整理好,定下了想放进材质里的元素:泥土、砂砾、石头、松针、落叶和树根。

材质制作流程
这张来自我 ArtStation 的 GIF 展示了材质的制作过程:从泥土、噪声、小石、松针、扫描数据、大石头,一直到树根。

泥土与表面噪声
我把两张噪波贴图(大形状与小形状)混合起来打底,再通过加更多 Grunge 贴图逐步加入更小的形状。有几个节点我用得相当频繁:
- Blend 是叠加细节层的关键。调整不透明度与混合模式会极大改变结果。注意 Blend 的不透明度输入控制的是前景/背景混合的位置,这对做出有机的观感很有用。
- Levels 用来修正灰度值。
- Highpass Grayscale 用来把高度拉匀。
- Quantize Grayscale 用来定义形状,这个节点对做出梯田状的造型非常出色。Non-Uniform Blur 基本上就是由遮罩驱动的模糊。
- Non-Uniform Directional Warp 可以根据输入贴图扭曲形状。
- Slop Blur 类似 Substance 3D PAInter 里的 Blur Slope 滤镜,根据混合模式的不同,适合做出风格化、涂抹、渗漏或雕刻感的效果。
对基础效果满意之后,我开始给泥土加噪声。本着「大、中、小」的原则,我按从最大到最小的顺序加入噪声。
石头
为了在泥土之上堆叠细节,我用 Tile Generator、Distance 与 Edge Detect 打底。为了控制石头的数量,我用了 Flood Fill、Flood Fill to Random Grayscale 与 Histogram Scan。为了雕刻石头的形状,我把 Cells 1 与几个不同随机种子的 Flood Fill to Gradient 用 Min(Darken) 混合模式混合起来,得到最终结果。

松针
我从 Shape 起步,用 Directional Warp 配合不同的噪波贴图做出许多草叶变体。然后我用 Tile Sampler,它像是 Tile Generator 的进阶版,但输入更多、可以控制分布。这里我把一张 Perlin 噪声分别作为 Scale Map、Displacement Map 与 Mask Map。这类用法还有很多,如果你感兴趣,可以看看 Johnny Nodes 的这个教程:
扫描数据
我从 Quixel Bridge 下载了 Atlas。散布它们我用的是 Atlas Scatter,它和 Tile Sampler 很像,但专门用于外部图集。我为每套图集导入了基础色、法线、粗糙度、高度与不透明度贴图。注意 Bridge 里的法线贴图是 OpenGL 格式。
不过这个项目我用的是 DirectX,所以用 Normal Invert(Invert Green: True)做了格式转换。我导入了两套扫描落叶,所以用 Material Height Blend 把它们混合起来。Quixel Atlas 的高度有时会偏低,所以我用 Levels 修正了数值。

树根
让我意外的是,树根的基础做法其实和石头很像。我用 Tile Generator、Distance 与 Edge Detect 打底。Warp、Directional Warp 与 Vector Morph 都很适合做形变。我用 Slop Blur 雕刻边缘,为了沿着树根加上木纹,我用了 Vector Warp、Non-Uniform Directional Warp 与 Directional Warp。

起初我的树根看起来并不自然,Javier Perez 告诉我,与其只靠一套树根去追求大量变化,不如把它拆成大、中、小三种树根再层层叠加。
顺着这个思路,我做顶层树根的方式和其他树根不同,更像做松针的思路。我用 Multi-directional Warp 与 Moisture Noise 做出腐烂的质感。为了避免树根之间出现奇怪的穿插,我在混合前先用 Non-Uniform Blur 处理。

给 Substance 3D Designer 新手的建议
这是我在过程中学到的几个技巧:搭建材质基础时,永远从高度做起。我用 Normal 与 BaseMaterial 节点在 3D 视口中快速预览高度。你也可以用快捷键 Shift+D 临时禁用节点,看差异。我还会在我框出的节点附近写下注释。


另一个有用的技巧是把节点保存在自己的库里,下次直接粘贴到新图表里再调整。

渲染与展示
为了更好地说明这套材质是为环境准备的,我用一块带置换的平面来渲染,而不是简单地渲染球体或圆柱。我的导师 Ezequiel Delaney 很好心地把 Marmoset Toolbag 的渲染场景给了我。
在此基础上,我调整了相机设置、Local Lights 与 Sky Lights。主要调整的相机参数有:色调映射 ACES、曝光、清晰度、锐化、景深、对比度、泛光与暗角。
搭渲染场景时,我总会先想这套材质的语境或故事,以及我想强调的视觉重点,据此选择 HDRI 与灯光颜色,并平衡一切。这个过程是非线性的,需要大量来回和试验。长时间做下来可能会累,所以我会休息一下、找人要反馈,避免自己陷在盲区里。

除了材质与灯光,我还在相机周围放了植物模型,让它们在地面上投下阴影,这也有助于讲述材质的故事。
渲染并不是最后一步。接下来我在 Photoshop 里对图像做了后期。我从 Nicholas Clark 与 Pablo Blanes 关于材质展示的帖子里学到很多,也从 Karthik Srinivasan 关于如何展示材质拆解的帖子里学到不少。
最后,我从渲染图里裁了几张作为缩略图,把它们和 ArtStation 上那些点击量惊人的作品放在一起,测试哪一张最打动我。这一步看起来不必要,但其实很重要,因为一张好的缩略图往往是获得更多流量的关键。

结语
我无法形容自己对导师 Ezequiel Delaney 和 Javier Perez 有多感激,他们给了我大量宝贵的技巧来改进材质,甚至让我一度觉得有点累。回过头看,我很庆幸自己没有放弃。Substance 3D Designer 的学习曲线相当陡,找到一个好的社群能减轻这份辛苦,让学习之路顺很多。我强烈推荐 Discord 上的 Future Material Artists 服务器,那里有大量资源,也有愿意帮忙的热心专业人士。
我也想分享几个在做 Substance 材质展示时帮了我大忙的工具:我用 Gif_Maker_for_SubstanceDesigner 做 GIF,用 Free Texture Breakdown Maker 与 Substance 3D Designer 快速做纹理拆解。如果你喜欢这些工具,记得支持原作者!
更多材质制作拆解可以查看本站 案例教程 分类;
想在引擎里做森林植被散布,可以看 Forest Tools:UE5 程序化植被与环境散布系统;
想了解这套节点流程所在的软件版本,可以参考 Substance 3D Designer 16.0 发布:3D 散布 + SDF 建模 + OpenPBR。


评论(0)