Substance Designer中生成地面材质

该项目
这个项目实际上起源于我正在处理的一个更具体的Substance Designer图表,一条土路。当我暴露参数以使土路可定制时,我意识到通过以不同方式将物质的不同元素混合在一起,我可以用这个单一的图形创建相当多的变化。出现了将图形重构为“地面生成器”的想法。
我添加了更多元素并公开了额外的参数,这些参数可以让我控制创建 GIF 中显示的所有变化预设。
总而言之,这花了大约 4 天的时间。原来的道路物质花了我大约 2 天。重构图表并公开所有参数大约需要一天时间。然后我又花了一天时间来设置预设、渲染和演示。

原始土路物质:

生产
我总是从高度图开始,这也是我花费大部分时间的地方。这非常重要,在高度图未完成的情况下过早尝试进入颜色和粗糙度图是灾难的根源。如果高度信息不正确,法线和环境遮挡也会出现错误,并且会出现一大堆问题。
我分析了一些参考图像并尝试确定我需要创建的所有不同元素。然后,我开始尽可能地从最大的形状到最小的细节分别构建每个元素。我尽量确保我考虑了所有“细节层次”:大、中、小形状以及表面细节。在我对高度、法线和环境遮挡感到满意之前,我不会开始处理其他地图。
这种具有许多不同元素的材料的主要挑战之一是弄清楚如何将所有不同的元素混合在一起。我不得不考虑元素将一个在另一个之上混合的顺序。例如,在这种材料中,在草之前融入岩石很有趣。这将为草提供一些急需的体积,并在它覆盖在岩石顶部时产生有趣的效果。

形状
我使用了很多不同的技术来创建各种元素。这里有一些例子:
对于岩石和鹅卵石,我主要使用“洪水填充”节点来创建形状:

大多数较小的元素都是使用此工作流程创建的:
我将首先创建单个元素的一些变体(一片草叶、一棵三叶草、一朵花等。)使用基本形状、渐变、扭曲、混合等。
然后将它们通过管道输送到一些“飞溅圆形”和/或“瓷砖采样器”中,以将它们散布开来。
我将底层几何体的高度与随机噪声结合使用来创建蒙版,以控制每个元素的生成位置或不生成位置。然后可以通过在瓦片采样器中公开“掩码图阈值”参数来控制覆盖范围。
下面以图的三叶草高度图生成部分为例:
然后使用“非均匀模糊”和“安全添加”节点(可以从 Substance share 下载Safeadd 节点)将此高度信息混合到底层元素的顶部,使用此节点而不是正常的“混合”确保当我开始调整各种参数时,我不会将这些值限制为纯白色,从而创建不需要的平面。
完整的组织和评论图形 SBS 文件包含在我的 Gumroad 版本中。

反照率
这种介于现实主义和程式化之间的风格是我一直在尝试的。说到我玩的游戏,我对这两种风格都没有个人偏好。我发现每种方法都有自己的优点,我一直在尝试将两种风格的元素融入我的作品中。
我构建高度和法线贴图的方式更接近现实主义,比您通常在风格化纹理中找到的细节要多得多。
另一方面,我会经常使用反照率贴图,它更接近你在风格化纹理中找到的贴图。我使用非常明亮和饱和的颜色,使用简单的渐变混合在一起。我尽量避免加入过多的噪音或垃圾。
当涉及较小的形状和表面细节时,我让高度/法线信息完成大部分工作,并有意省略将这些包括在反照率中。我发现这可以给人一种相当醒目的外观。反照率中没有噪声使得“读取”形状更容易,并且可以在所有这些高度/法线信息细节之间提供一些急需的“眼睛休息”。

节点
由于材质由许多需要分散的不同小元素组成,因此我使用最多的节点之一是“瓷砖采样器”。虽然它是使用 Substance Designer 的每个人都广为人知和使用的节点,但我觉得它的一些功能经常未被充分利用。
拥有多个输入的能力是创造多样性并避免看起来明显程序化的结果的简单方法。当使用单个输入时,重复往往非常明显。
使用遮罩贴图是控制元素生成位置的好方法。虽然,我经常看到这里使用的值被限制为黑白的蒙版。我更喜欢输入一个梯度高度图,并在瓦片采样器中使用“掩码图阈值”参数控制覆盖范围。这给了我更大的灵活性。
旋转贴图和矢量贴图输入经常被忽视,但可以产生非常有趣的效果。例如,使用底层元素的法线贴图作为矢量贴图输入,可以帮助将各种元素更无缝地混合在一起。

岩石和草
这有点难以解释,但我会尽我所能:

如前所述,先将岩石与地面混合,然后再添加草。
岩石和鹅卵石分为 5 层,从大岩石到小鹅卵石。这使我能够为不同大小的岩石创建单独的蒙版。
为了在岩石和草之间创造一个很好的分层效果,我发现最好的结果是当草完全覆盖较小的岩石时,给草一些体积,但只与较大的岩石稍微重叠。
为了创建这种效果,我创建了一个蒙版,用作草图块采样器节点的“蒙版输入”。通过从底层高度图中减去大石头。这意味着草将被允许在任何地方随机生成,但在更大的岩石顶部。
使用“模式中心”作为瓷砖采样器内的蒙版贴图的参数意味着虽然草芽不会被允许直接生成在较大的岩石上,因为它们被蒙上了,但高度信息将被允许重叠和不会被“切断”。

这种遮罩技术就是为什么我发现与“切断”高度信息的简单混合相比,平铺采样器的“遮罩图输入”非常强大。
葡萄藤是您在程序工作时经常得到的有趣的意外结果之一。我已经设置了一些参数来控制一些树枝/树枝的大小和扭曲强度。在调整这些参数时,我意外地以在杂草丛生的环境中发现的类似藤蔓的东西结束。我喜欢这种效果并决定进一步推动这个想法,创建更多的变化预设来包含它们。

多功能性
我不知道完整的环境,这实际上取决于它的范围,但内容非常通用。我提供的这 36 个预设都是在设置所有参数后的几个小时内创建的。一个简单的下拉菜单允许访问这些预设:

我给最终用户留下了一些简单的参数来调整这些预设:

如果需要更多的修改,我用来创建预设的全部 150 多个参数可以通过使用这个“开发模式”选项来访问。
这些额外的 150 多个参数提供了极大的灵活性,但它们可能不那么用户友好……因此为什么它们隐藏在“开发模式”之后,但仍然可以访问。

这些材料准备好游戏了吗?
我最初为Marmoset Toolbag 中的一些美图调整了这些材质,但对于支持 PBR 和金属度/粗糙度工作流程的任何渲染引擎来说,它们应该非常“好用”。
根据您使用的渲染引擎和照明,可能需要对粗糙度贴图进行一些微调。在 Unreal 内部进行测试时,我发现结果对于我的一些预设来说有点过于光鲜了。一个简单的级别使一些粗糙度值更接近白色就可以了。
下面是一些 Unreal 测试的随机截图。我正在使用一些我稍微修改过的预设,在一个简单的地形上混合在一起:

评论的 Substance Designer 图形、2048×2048 TGA 格式的纹理以及用于渲染的 Marmoset 场景都可以在我的 Gumroad 页面上下载。
我最终会用一个包含这些细微调整和一些新预设的版本来更新它。

返回首页

作者 lll

发表评论