Substance Designer 和 UE5 中创建 Piccolomini Library Floor

介绍
我的名字是 Ishan Verma,我在 Ubisoft 担任 3D 材料艺术家。在本文中,我将解释如何使用 Substance Designer 授权完全参数化的高质量地砖纹理,以及混合材质的分解并在虚幻引擎 5 中展示。
这将是一个全面的演练,我将在其中介绍参考搜索、参考细分、创建策略、高度构建、材质创建和虚幻引擎 5 中的渲染等要点。

方法
这项研究的主要思想是探索不可破坏的参数化工作流程并从中创造新的东西。所以,我开始探索参考图像并遇到了一个叫做 Piccolomini Library 的地方,那里的地板吸引了我的眼球,因为它很有表现力,所以我决定在 Substance Designer 中重新创建它!

艺术参考收藏
任何项目都是从跟进情绪板或参考资料集开始的。如果没有这样的情绪板,有时艺术家会偏离想要实现的目标。以下是个人在开始任何纹理创建项目时可以关注和跟进的一些要点。

 Substance Designer 和 UE5

要做的事情:
.做一个小的研究并收集特定主题的各种图像,这个参考集应该包含从特写到远景的各种图像。
.收集图像并将其分为三类,即宏观细节、中等细节、微观细节和修饰。
.逐步组织它并使用 PureRef 应用程序组合所有参考数据。
.尝试收集高质量以获得更好的视觉效果。

需要避免的事情:
.避免太模糊或嘈杂的参考。
.避免使用彩色照明场景的图像
.避免与要授权的纹理类型不完全相关的图像。
.以不分散注意力的方式组织参考文献以避免混淆。

参考细分
参考细分包含计划在材料中实施的各种功能图像集合。参考细分通常对于标出个人想要放在特定位置的特定参数很重要。在这里,我给出了一个简短的例子,说明我如何为自己分解参考。

 Substance Designer 和 UE5


.Tile Base :这部分包含我们关注的实际参考。宏观到微观距离图像收集在这里。这些图片将帮助我们确定我们正在寻找的特定表面和方法。
.裂纹:此图像集合包含裂纹参考,所有图像都显示了可以在引擎中分析和实现的各种裂纹属性。
.碎屑:这些参考图像包含我们可能对瓷砖造成的碎屑损坏,各种碎屑参考将有助于创建老化的外观和感觉。
.瓷砖去除:瓷砖去除是我计划对材料造成更多损坏的另一个功能,它可以在可以使用材料的特定场景中提供更多可用性。所以在这里我收集了各种瓷砖去除的瓷砖参考,以获得关于事物如何自然工作的基本概念,并在以后的材料中实施。
.裂纹碎片:它是材料的主要部分之一。我想从干净的瓷砖到极端损坏,所以我决定收集各种裂缝损坏和瓷砖碎片参考,后来发现在处理材料时是有益的。

纹理创建策略和技巧
在本节中,我将讨论在开始处理纹理之前要记住的一些理想点。
.预先计划您的参考和情绪板,投入大量时间搜索高质量的参考图像。
.相应地规划特征和参数以使其更有用,在非破坏性工作流程中具有更多特征和更少边界将为您提供具有大量变化输出的主图。
.正如我常说的那样,在处理高度图的同时尝试像在 ZBrush 中雕刻一样思考并相应地工作。坚持从宏观到微观细节的过程。
.始终将您的参考分解为宏观到微观的部分,它始终会帮助您在特定时间专注于特定步骤。
.培养从您周围的表面甚至互联网上挑选表面细节的眼睛。它将有助于构建一个可视化库。
.尝试尝试您想要创建的每个步骤,这将帮助您找到用于创建自己的高度构建工作流程的创新想法。
.始终关注纹理在 Substance Designer 之外的表现,因为材料艺术不仅仅是创作纹理。我们需要分析它的用途,比如它将如何看待特定的 3D 环境,具有特定的资产、照明或着色器等
所以一旦完成了参考收集和分解,一开始我将创建一个模板,然后开始试验和构建高度图。

以下是材质创建模板的示例:
.您可以从规格/光泽度或金属/粗糙度开始使用任何模板,对于这个项目,我使用了金属/粗糙度 PBR 模板。
.设置相对于父级的图形
.对于基础,我使用三个输出来构建高度,它们是正常、AO 和高度。
.Base Color、Roughness 和 Metallic 可以使用 16×16 Uniform Color 节点,稍后可以对其进行调整。

高度建筑:菱形
Height 建筑的第一步是创建菱形瓷砖,这将是材料的基础。为此,我使用白色的 Uniform Color 节点开始流程,然后使用 2D 变换以 45 度旋转,并使用级别节点收紧形状以避免 mipmap 问题。然后我使用两个 2D 变换来对角和水平挤压形状,使其成为实际的菱形。
为了对齐菱形形状,我使用了两个 Splatter Circular 节点,对角线和水平形状的形状计数均为 6,以创建圆形图案。然后我使用混合节点和添加混合来混合两个圆形飞溅物,并插入一个级别节点以收紧形状。
然后我将形状插入瓷砖生成器并将其平铺为 X=4, Y=4 并增加形状大小直到间隙被相应的瓷砖占据并将混合模式更改为最大变亮。
然后我对随机灰度节点使用 Flood 填充和 Flood 填充以消除瓦片之间的间隙,并使用一个边缘检测节点,这将从随机灰度数据中产生一个细小的裂缝。然后我使用了一个斜角节点为图案提供了一个非常微不足道的斜角深度。

高度建筑:边框形状
对于边框形状,我遵循与上述相同的步骤,但在这里我将流分为三个形状。第一个是内钻,另外两个是轮廓边界,中间由链状图案组成。

高度构建:链式模式
现在对于链模式创建,首先我想创建一个链基。为此,我将一个圆形节点作为主要形状,将其插入 2D 变换以使其变小,然后使用混合模式将其从主圆形中减去。
然后,我将一个 Uniform Color 节点设为白色,对其进行变换和镜像,并将其与我们之前创建的环形混合。之后,我使用另一个 2D 变换节点来制作弧的小版本。现在使用 2D 变换,将其旋转 180 度并混合。为了结束形状,我只是使用了轻微的模糊和层次,使其实际上是一个独特的形状!
一旦链基本形状创建完成,将其插入 X=1,Y=14 的瓦片生成器,这就是我们将如何实现链形状。然后使用2D变换节点根据我们之前创建的菱形形状使其倾斜,并使用两个镜像节点使其完全成为菱形轮廓。

高度建筑:新月图案
为了创建新月图案,我简单地使用了一个带有圆形的形状节点,并使用 2D 变换和混合节点从中减去了一个较小的圆圈。然后我使用了一个非均匀模糊灰度节点来给新月一个轻微的深度,并将形状插入两个飞溅的圆形节点并添加它们。
完成最终形状后,将其插入主瓷砖生成器,其参数与菱形瓷砖生成器相同,因此形状同样适合主瓷砖的顶部。

表面处理:削片和遮蔽
对于表面处理,我保持简单。从一个坡度模糊节点开始,主要高度和云 1 和 2 的混合作为噪声输入。然后使用反转灰度节点反转它并使用带有暴露浮点参数的直方图扫描。此参数将帮助我们从 0 值掩码移动到 1 值掩码,以便我们可以在程序上创建边缘碎裂。完成为混合蒙版创建切片后,我只需从 Flood Fill 中选择一个直方图到随机灰度节点,并将其与切片直方图扫描混合。然后用减法模式将它混合在主要形状的顶部!

表面处理:渐变和翘曲
为了添加更多的表面形态,我使用了一个 Flood Fill to Gradient 节点,在这个节点上我在每个瓷砖形状上创建了随机渐变,并使用 SoftLight Blend 模式将其混合到主高度的顶部。完成此操作后,我创建了另一个从 Flood Fill 到随机灰度的蒙版,并创建了与我们为 Chipping pass 所做的相同的混合。在这里,我们将创建相同的参数,这将帮助我们创建随机的表面不平整度。
为了添加表面扭曲,我采用了云 1,2、高斯噪声和 BnW 点 2 等各种噪声,并使用带有泛光填充的定向扭曲将所有这些噪声驱动到随机灰度作为强度输入。这种方法将帮助我们创建扭曲的噪声,稍后可以通过多个混合将其混合在主形状上。

破解通行证:创造
为了生成大裂缝,我从一个 Shape 节点开始,并使用一个具有随机大小、旋转和灰度值的 Splatter 节点对其进行喷溅。然后使用距离节点来最大化这些飞溅形状之间的距离。之后使用一个边缘检测,它会给我们一个基本的裂缝形状。然后使用一个带有高斯噪声的扭曲节点作为输入,给这些裂缝一些有机的感觉。
为了获得一个小的裂缝通过,我按照上面显示的相同步骤进行了后续操作,但是将八度音或我说的形状平铺更多以使较小的裂缝保持一致。之后,为了遮罩,我使用直方图选择并将其与裂缝混合,然后从主要形状中减去它。

裂纹通行证:裂纹内损坏和碎片通行证
一旦从主要形状中减去裂缝,现在为了提供更深的地层,我对我们之前创建的特定裂缝蒙版做了一个斜角节点,并将它们拉平以收紧形状。这将使碎片通过与裂缝一起使用。
现在为了给碎片传递提供更多的表面和边缘细节,我使用云 1 和 2 的混合进行了斜坡模糊,这会使边缘变形并使其高度不均匀。在这一步之后,使用直方图选择蒙版在主要裂缝上混合碎片斜坡模糊通道。

Grime Pass:创造与融合
为了创建 grime pass,我从 Clouds 2 节点开始,使用 Safe Transform Grayscale 节点增加了它的平铺。然后取 Clouds 1、BnW 点 3 和高斯噪声,并使用 SoftBlend 模式将它们一一混合,每个强度为 0.5。完成 grime 创建后,我使用 Height Blend 节点将其与主要高度输出混合。

瓷砖去除
对于瓦片移除过程,我只使用了一个 Histogram Select 节点,将输入从 Flood Fill 输入到灰度节点,并公开所有三个参数以扩展图形的特征​​。这里的第一个参数是位置,这将有助于调整丢失瓷砖的位置。第二个将是范围,这将增加移除瓷砖的区域或区域数量,至少我们有对比度,这将有助于调整不必要的遮罩。

身高和法线:

 Substance Designer 和 UE5

粗糙度
对于粗糙度,我从 Normal 节点的曲率平滑开始,并将其与 BnW spot-2 节点混合。然后我用一个瓦片生成器遮住了内部菱形,并将它与 grunge 14 混合了两次。同样对于每个参数迭代,我创建了几个滑块蒙版并混合为每个蒙版的减法模式。因此,它将为发生损坏的整体粗糙度提供一个独立的滑块。
随着材料参数的改变,粗糙度也会受到影响。

 Substance Designer 和 UE5

环境光遮蔽
对于 Ambient Occlusion,我从一个 AO 节点开始,使用直方图选择来掩盖损坏,然后将其混合到主 AO 上。然后我想要移除瓷砖的深度,所以我创建了一个用于瓷砖去除的蒙版,并将其混合在主混合上,并将其插入 AO 输出。
它具有与 Roughness 相同的混合设置,具有来自每个 tile 采样器的特定蒙版。

基色:面具
由于材质中使用的颜色值较少,所以我保持较少的颜色输入。通过从所有平铺采样器创建蒙版混合并将它们与添加混合模式混合来开始该过程。然后使用 Levels 节点消除蒙版中的任何噪声。然后为了给蒙版添加更多的真实感,我用 Grunge Map 014 稍微扭曲了它,并使用 SoftLight 模式再次将主高度混合到顶部。此遮罩将用于蓝色图案。

BaseColor:原色通过
对于基本颜色通道,我开始使用从主高度到渐变映射的边缘检测创建淡白色,并使用 HSL 节点调整颜色。然后我采用另一个渐变并插入我们之前创建的蓝色蒙版作为输入,并驱动它形成蓝色输出。然后将它混合在我们之前创建的白色基色之上。通过这个过程,我们为材质创建了原色混合通道。

基色:混合
对于参数混合,我首先使用直方图扫描/选择节点从我之前在材料中暴露的每个特征创建蒙版,例如裂缝、损坏、边缘碎裂或边缘损坏等。然后一一使用指定混合中的所有蒙版,以便它可以与主要高度参数调整一起使用。

 Substance Designer 和 UE5

接近虚幻引擎 5
正如我们已经知道的,虚幻引擎 5 是公开可用的,并带有改变游戏规则的功能,例如 Nanite 和 Lumen,它在技术方面实现了巨大的飞跃。所以我决定在我的材料项目中测试它。
在这一部分中,我将讨论如何为渲染模板、4 路混合着色器、照明和其他一些附加功能设置场景。整个分步过程如下所述。

导入资产
我们在这部分的第一种方法是创建一个渲染模板,其中包括导入资产、设置环境设置和照明设置。稍后,我们将转到渲染和后期处理。
首先,我在 3ds Max 中为场景创建了一个球体和基础网格。然后使用以下导入设置将其导入引擎:

取消生成自动碰撞
法线导入方法:导入法线和切线
取消勾选合并网格
取消勾选导入纹理和不创建材质

环境光设置
定向光:我在关卡中放置了一个定向光,勾选了大气阳光选项并且强度为 5 LUX
天空大气组件:在定向光之后,我添加了一个单一大气组件。我调整的设置是大气瑞利指数分布 – 0.5 和天空亮度因子 – 0.5。
天光:这里的第三步是添加天光并勾选实时选项。
Exponential Height Fog:在 SkyLight 之后,添加一个 Exponential Height Fog 和一些设置,即 Fog Height Falloff – 1、Fog Scattering Color – H(220)、S(0.5)、V(1.0) 和 Directional Inscattering Color – – H( 0), S(0), V(0)

后处理量
现在为了设置后期处理,我从曝光值开始,将测光模式设置为手动,曝光补偿设置为 10。然后将光晕设置为标准模式,强度为 1.4。
然后我在全局照明菜单中打开流明并对反射做了同样的事情。如果您有性能问题,那么在该方法下方有一个称为最终聚集质量的选项,可以打开并使用值进行调整,以降低流明的精确强度。

 Substance Designer 和 UE5


最后,在后期处理音量设置中,可以勾选一个名为 Infinite Extent 的选项,将音量框限制解除到整个级别。

设置相机
为了设置相机,我首先在模板场景前放置了一个相机演员。然后我将投影模式从正交切换到透视。视野为 30 度,纵横比为 1.045,使其成为方形框架,并勾选纵横比选项的约束。

4 路视差遮挡混合着色器
为了创建 4 路混合着色器,我首先使用适当的命名法以堆叠方式导入纹理。

4 法线贴图
4 ARM 地图
1 张高度图作为 Splat 贴图(包含 4 个高度图)
4 底色贴图
Splat Map 是一种纹理,用于控制模型中多个纹理(或其他值)的混合。

首先我创建了一个基本材质,然后将所有纹理导入到材质编辑器中。导入后,我按类型将它们组织到具有正确命名的特定框架框中。对于第一次混合,我从拖动一个顶点颜色节点开始,并在 Lerp 节点的帮助下创建了 4 个纹理的混合,如下图所示。
我采用了相同的方法来混合 ARM、Normal 和 Base Color Maps。对于 ARM,我将混合分成对。这里的第一个混合是针对 AO,采用每个 ARM 贴图的 R 通道,然后将其相乘以提供假 AO 深度。
之后,我从 G 通道创建了一个混合,以创建一个带有顶点数据的 Roughness Lerp 混合,并将其插入到 Roughness 通道中。
此处的顶点数据将有助于使用 4 种纹理模式对网格进行权重绘制。
现在对于视差凹凸偏移,我开始创建一个平铺设置,其中 UVcoord 节点乘以暴露的浮点数 1。这个平铺将被插入到凹凸偏移节点的坐标输入中。
之后,我创建了另一个 Float 1 并将其作为参数公开,将其命名为 Height Ratio,并将值设置为 0.012。然后我将这个浮点数插入到 Height Ratio 输入中。
然后对于高度偏移,我使用高度 splat 贴图并将每个 RGBA 通道的高度插入到高度输入中。完成 BumpOffset 设置后,我将其插入到所有纹理的 UV 输入中。

对于网格顶点绘制,选择顶点绘制选项将打开绘制框。从那里我选择了几个参数,可以在下图中找到:
1.彩色视图模式:关闭
2.强度:0.5
3.衰减:1
4.纹理权重:ARGB(4 种纹理)
完成顶点绘制后,我将材质插入渲染球体。您可以在下方看到来自相机视口的最终渲染输出。

进行渲染
为了在虚幻引擎中进行高质量渲染,从视口选项下拉菜单中有一个称为高分辨率屏幕截图的选项。它将打开一个弹出窗口。从那里我们可以设置一个 1 到 4 的大小乘数,我们可以根据高端系统使用最大数字。

结论
在从材料创作到实际使用的整个过程中,我集思广益,结果是值得的。我想扩展我的技能,以富有成效的方式创建完全参数化的材料,因此我决定在这个过程中尝试一下虚幻 5。我强烈建议每个人保持正轨并找到深入学习事物的方法,并欢迎您的所有错误都是偶然的,因为您永远不知道愚蠢的错误是否可以在 Substance Designer 中偶然为您提供良好的工作流程。尝试赶上不同的工作流程并继续尝试,除非值得继续。观察并开发一个好的视觉库,这将真正有助于即兴创作您的详细工作流程。

返回首页

作者 lll

发表评论