概要

Theresa Schlag 在 Substance 3D Designer 里做出双色渐变、渐变遮罩、斑点与碎屑四个手绘基底生成器,并解决位置数据分辨率、渐变条带与位深问题。

深色背景上摆放着几件手绘风格的彩色 3D 道具:渐变球体、粉色掌机与手持设备,配紫色与青色高光

介绍

大家好!我叫 Theresa Schlag,是一名美术指导、3D 艺术家与游戏开发者,现居柏林。我热爱的事情之一是做 3D 道具,另一件是手绘贴图,而最重要的是解决问题。

在教学以及在较大团队里工作的过程中,我发现「保持手绘风格的一致性」本身就是个难题。经过一段时间的工作流研究与材质试验,我决定在 Substance 3D Designer 里做一个手绘基底生成器——它不只缩短制作时间,也容易上手,并能帮助资产之间保持一致。

这份拆解会讲四个基底生成器的制作:双色渐变(Two-Color Gradient)、渐变遮罩(Gradient Mask)、斑点(Spots)与碎屑(Flakes)。也会说明我如何处理几个具体的技术难点,比如避免低分辨率位置数据、减少渐变条带,以及选择合适的位深。

两张 Painter 界面截图:左为 Environment Settings(环境贴图设为 Soft-Low-Contrast、色彩空间 Srgb),右为 Layers 面板中新建的填充图层并关闭金属度与粗糙度

准备 Substance 3D PAInter

在 Designer 里动手做生成器之前,先分享我做手绘贴图时的 Painter 默认设置。

如上图,在 Environment Settings 里,我用 Soft-Low-Contrast 环境贴图而不是 Studio Tomoko。Tomoko 对写实贴图很棒,但手绘工作我更愿意自己画硬光。相机环境对齐是可选的,但 sRGB 不是——至少做游戏资产时不是。

在 Layers 面板里,我在工作文件夹之上新建一个填充图层,并关掉金属度与粗糙度。

另外,我一定会烘焙资产,哪怕是低模烘焙。大多数生成器与滤镜都依赖烘焙贴图,没有就不好用。我倾向于按比目标像素密度高一档的分辨率来烘焙与制作。

灰色背景上一个橙色的低模几何体,形状像一片带分割线的香蕉状零件

在 Substance 3D Designer 中构建生成器

在 Painter 里工作时,我常常为了做材质细节而反复叠同样的图层,比如多层渐变配上碎屑与斑点。跨多个颜色与材质手动做这些很快就变得很烦。把这一整套合并成一个自定义生成器,既省大量时间也提升性能。

四颗球体依次标注 Two Color Gradient、Gradient Mask、Spots、Flakes,表面分别是双色渐变、渐变遮罩、斑点和碎屑效果

双色渐变

上图是双色渐变的基础设置:一个简单的 Light 节点,根据烘焙的世界空间法线输入控制两种颜色。

不过当我暴露 Light 节点的角度后,发现在 Painter 里角度能正常改,但默认值显示不正确。小毛病,但值得修。

Substance 3D Painter 界面截图,画面是粉紫色手绘电话与键盘,球形预览上可见斑点效果,画面中标注「Spots」

解决方法是创建两个自定义浮点变量(每个角度一个)来控制灯光角度,暴露这两个变量,而不是原生 Light 节点的 turns 参数。

Substance 3D Designer 图表截图,标注出 # Color Section 与 # Mask Section 两段,左侧是输入的世界空间法线(Wsm)节点

在 Painter 里测试时,我发现 80 度与 200 度这两个角度在预览里效果很好。只需要换算成 turns 接进 Light 节点(80°/360° = 0.22 turns)。

Designer 图表截图,标注「Two Color Gradient - Exposed Light Parameter Problem」,右侧 Instance Parameters 面板中角度显示为 0.125 与 45 度
Designer 图表截图,标注「Two Color Gradient - Expose Input」,Instance Parameters 面板中为 Float Value,并勾选 Expose As New Graph Input

做出基础功能后,我加了一个 HSL 节点以便更自由地调色,并把所有必要数值暴露给 Painter。

Designer 图表截图,标注「Two Color Gradient - Vertical Input Declaration」,Graph Input Parameters 面板中声明 Color Base Color 与 Vertical Angle(Float)

渐变遮罩

渐变遮罩我想要和颜色渐变不同的行为:一个可复用的、基于烘焙位置数据的遮罩,用于苔藓、油漆或晒痕这类效果。下面是我起步的状态,随后就撞上了主要问题。

Designer 图表截图,标注「Two Color Gradient - Connecting Float Value To Light Note」,Instance Parameters 中高亮 Vertical_Float_Value

测试时我注意到渐变的解析度变得很块状、质量很低,尤其在提高对比度之后。

Designer 图表截图,标注「Two Color Gradient - Exposed Values」,可见 Colors、Contrast、Luminosity、Highlight Range、Angles 以及右侧 Change Base Color 面板

想到渐变依赖位置数据,我第一个念头是用更高分辨率烘焙贴图:

Designer 图表截图,标注「Gradient Mask - Exposed Values」,可见 Positions、Color、Hue、Contrast、Invert 与 Add Gradient 面板

好一些,但还是不够。接下来是我们永远的老对手:渐变条带。

Designer 图表截图,标注「Gradient Mask - Resolution Problem」,Position 节点为 32X32,右侧立方体贴图上的渐变呈明显块状

常规图像处理用每 RGB 通道 8 位就够。但要更平滑的结果,把父节点(这里是 RGBA Split 节点)的输出格式改成每通道 16 位,就能让灰度过渡更顺、避免条带。

Designer 图表截图,标注「Gradient Mask - Resolution Problem - Bake Position In Higher Resolution」,对比 Position 32X32 与 1024X1024 的立方体效果

最后一步是在直方图扫描之前插入一个强度极低的 Blur HQ Grayscale 节点,得到干净的结果。

Designer 图表截图,标注「Gradient Mask - Resolution Problem - Banding Artefakt Approach - Bit Depth」,右侧从 1 Bit 到 16 Bits 的渐变条对比

最终图表与 Painter 组件:

Designer 图表截图,标注「Gradient Mask - Resolution Problem - From 8 To 16 Bits」,Output Format 设为 16 Bits Per Channel,各节点标注 16 Bits
Designer 图表截图,标注「Gradient Mask - Resolution Problem - Insert Blur Hq Greyscale Before Histogram」,Blur Hq 节点强度设为 0.5
Designer 图表截图,展示最终的渐变遮罩网络与对应的 Painter 组件界面,右上角是紫色球体预览

斑点

乍看斑点图表更复杂,但我只是把渐变遮罩那一段连同 RGB Split 节点直接复制过来复用,这样可以专心处理斑点本身。手绘资产需要受控的表面细节量才好看。

Designer 图表截图,标注「Spots - Sections」,分为 # Spot Section、# Color Section 与 # Mask Gradient Section 三段

Slope Blur 在 Substance 3D Designer 里是极好用的节点(在 Painter 里也是很好用的滤镜),能简化形状、带来那种「画出来」的感觉。保持暴露参数干净,我就能确保艺术家在不同道具上维持一致风格,而不会玩过头。

Designer 图表截图,标注「Spots - Fine Tuning Section」,下方对比青色斑点遮罩在加入微调前后的差异
Designer 图表截图,标注「Spots - Spot Section」,图中标注 Slope Blur 参数为 Samples 16、Intensity 0.01,下方展示前后的斑点对比

最终图表与 Painter 组件:

Designer 图表截图,标注「Spots - Exposed Values」,可见 Position、Balance、Color、Hue、Contrast 等参数
Designer 图表截图,左侧是图表网络,右侧是 Add Spots 参数面板(Color、Scale、Contrast 等),上方有球体预览

碎屑

除了斑点,我经常用碎屑来打散金属表面。碎屑本质上是斑点经过一条 slope blur 滤镜链的组合。

Designer 图表截图,标注「Flakes - Sections」,分为 # Flake Section 与 # Color Section
Designer 图表截图,标注「Flakes - Flake Section」,下方标注 Blur Hq(Intensity 1.83、Quality 1)与 Slope Blur(Intensity 1.83、Quality 1)的前后效果

一如既往,在 Painter 里测试很关键。记住:自由度越大,一致性越差,所以只暴露艺术家真正需要用来塑造材质的参数。

最终图表与 Painter 组件:

Designer 图表截图,标注「Flakes - Exposed Values」,可见 Scale、Color、Hue、Contrast、Balance,右侧紫框内写着 Too Much Freedom = Less Consistency
Designer 图表截图,左侧图表网络旁有球体预览,右侧是 Add Flakes 参数面板(Color、Scale、Contrast 0.11 等)

预设

我希望默认预览资产看起来花哨、抢眼,能勾起好奇心、邀请艺术家去玩它。但在实际生产中,我总是建议做几组中性预设,加快日常贴图的速度。

深灰背景上三颗球体,分别呈现白色、米色与橄榄棕色,球面带有细微斑驳,下方标注 Presets

最后的调整

说到底,管线工具的创建就是一连串决策:哪些交给程序化生成、暴露哪些数值。这些生成器的设置很容易改造成适配不同美术风格,也可以直接整合进 Painter 的智能材质模板里。

渐变生成器替代不了主资产本该获得的心血与技艺,但我希望它能帮你省时间,也帮团队把项目视觉稳稳锁住。感谢阅读!

一件彩色的手绘风格机械道具渲染,紫、青、粉相间,圆盘上有屏幕与按钮,画面左下角有 Tinyart 标志

 

更多材质与贴图内容可查看贴图绘制分类,也可参考用 Substance 3D Designer 制作釉面陶瓷砖与案例教程。

常见问题

为什么要做这些生成器?

在 Painter 里为材质细节反复叠同样的图层很耗时,把这一套合并成单个自定义生成器能省时间、提升性能,并让团队手绘风格保持一致。

四个生成器分别是什么?

双色渐变(Two-Color Gradient)、渐变遮罩(Gradient Mask)、斑点(Spots)与碎屑(Flakes)。

渐变出现块状怎么办?

用更高分辨率烘焙位置数据(例如从 32×32 提到 1024×1024)。

渐变条带怎么消除?

把父节点(如 RGBA Split)的输出格式从每通道 8 位改为 16 位,并在直方图扫描前插入一个强度极低的 Blur HQ Grayscale。

灯光角度默认值显示不正确怎么修?

不用原生 Light 节点的 turns,而是创建两个自定义浮点变量控制角度并暴露它们(80°/360°≈0.22 turns)。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。