用 Substance 3D 与 UE5 制作中世纪嵌花地砖材质

AI3D 发表于 4 周前 浏览 2 分类 创作分享

Building a Medieval Encaustic Floor Tile Material Using Substance 3D & UE5

简介

大家好,我叫 Alisa Prakapenka。我的旅程始于 11 岁那年,当时我拥有了第一台个人电脑,并立刻爱上了电子游戏。因为我一直对创意充满热情,所以我决定在大学学习设计。正是在那里,我恍然大悟:游戏不只是用来玩的;你其实可以自己创作游戏。一切都豁然开朗——这简直是完美的契合。从那时起,我便一头扎进 3D 世界,开始不断尝试。

早期,我做了大量的 3D 建模,但我逐渐意识到,纹理制作才是最让我兴奋的事。当我第一次打开 Substance 3D Designer 时,我立刻明白,材质艺术才是我在 CG 领域真正的使命。我不断观察周围的世界,分析表面属性,并在日常生活中发现独特的材质。外出寻找参考、为即将制作的材质拍摄照片,是我真心热爱的事情。

我以自由艺术家的身份开启了自己的职业生涯,为各种项目制作 3D 资产。我还积累了 3D 可视化的经验,这确实帮助我提升了在灯光、构图和渲染方面的技能。我商业上最重要的里程碑之一,是加入 UFL 背后的团队,成为一名全职材质艺术家。回顾我的旅程,唯一不变的是我不断学习、尝试和掌握新技能的动力。

Building a Medieval Encaustic Floor Tile Material Using Substance 3D & UE5

中世纪彩釉瓷砖

其实这一切都始于我每天都在做的一件事:构建自己的视觉素材库,并探索我对材质创作的热爱。构建视觉素材库这一习惯,是我在跟随 Ishan Verma 学习期间养成的,在那里我学会了如何训练自己的眼睛,更好地理解纹理、材质与视觉细节。

Building a Medieval Encaustic Floor Tile Material Using Substance 3D & UE5

作为这个流程的一部分,我在 Pinterest 上浏览了大量图片,偶然发现了一些美丽的中世纪室内场景。它们之所以让我觉得格外震撼,是因为其设计、构造方式,以及其中充满的细小视觉细节。就在那时,我想,为什么不试一试呢?这或许是另一个绝佳的学习和自我挑战的机会。

我不断遇到这些小块的红色瓷砖,上面有着复杂的白色图案,而且图案往往有部分缺失、被磨损,或覆盖着污垢。这个细节真正吸引了我的注意。我意识到,我不想只是再做一种干净、完美的材质。我想创造一种像时间轴一样的地面,能通过每一处磨损的边缘、每一个破损的图案和每一层污垢,展现出它的年代、历史和时间的流逝。

灵感与参考

真正让我着迷的是了解到彩陶砖(encaustic tiles)是如何制作的。图案并不是画在上面的;而是将白色管状黏土嵌入红黏土中,然后烧制而成。因此随着瓷砖老化,白色并不会简单地褪去;它会剥落、被掏蚀,并填满污垢和砂浆粉尘。

这种二元性启发了整件作品。你有神圣而精确的几何——八瓣花、点状弧线,以及交织的四叶饰——与 600 年的脚步、磨损和衰败形成对比。我喜欢这种完美设计与非常人性化、凌乱老化之间的平衡。

我也不想只做一块瓷砖然后无休止地重复它。真正的教堂往往有一个主区域、不寻常的边框,以及彼此并置、完全不同的图案。最终渲染中那种拼贴般的外观,正是直接受到真实教堂地面平面图的启发。

我非常严格地要求自己不要使用奇幻参考。一切都必须来自真实的瓷砖。参考收藏不应追求数量多,而应包含重要、贴近、清晰的图片,能够传达创作理念、高度、语言、色彩和细节。

我的 PureRef 参考板是这样搭建的:

Building a Medieval Encaustic Floor Tile Material Using Substance 3D & UE5

历史

  • 时间线:主要盛行于13世纪至16世纪
  • 地点:由于生产成本高昂,主要见于皇家宫殿、修道院、大教堂和庄园宅邸等高级建筑中。
  • 设计目的:通过纹章盾牌、花卉图案和几何图案来展示财富、虔诚与血统。

叙事性

  • 图案:我只收集中世纪的真实纹样,没有维多利亚时期的复刻品。最终我锁定在历史上反复一起出现的三种 – 玫瑰花饰、点状同心带,以及四叶星形。
  • 材质真实感:出土瓷砖的微距照片。红黏土烧制得如何不均匀 – 有些砖更偏橙,有些更偏棕。白色镶嵌从不是纯白;而是一种脏兮兮的骨色,并且略微凹陷。
  • 时间/损坏:这是最大的一块参考板。现场地板的广角照片 – 灰浆如何漫过瓷砖,裂缝如何总是从镶嵌边缘开始,尘土如何在无人走动的角落彻底掩埋图案,边缘的瓷砖如何总是损坏最严重。

一旦有了这个,我就能清晰地看到整个故事 – 这不仅仅是一张纹理;它是一块承载了数百年叙事的地板。

纹素密度

我做的第一件事就是设置纹素密度,遵循每 2 米 2K 的标准,以确保高视觉保真度。如果要在大型环境中使用,为了更好的优化,这个数值可以轻松降低。

从那时起,我开始在 Substance 3D Designer 中制作纹理。为了便于学习而保持整洁和有条理,我避免将所有内容都塞进单个图表中;相反,我将工作流程分为三个不同的子图表,分别代表完好、破损和损坏的版本。秉承这种模块化方法,我首先从构建高度图开始。

高度图构建

  • 步骤 1:设置基础网格。我首先放入一个 Tile Generator 节点,勾勒出瓷砖的基本网格图案。紧接着,我添加了 Edge Detect 和 Bevel 节点,为瓷砖赋予初步形状,对边缘进行倒角,并在它们之间创建清晰的分隔线。
  • 步骤 2:用扭曲打破统一性。为了让程序化生成的瓷砖看起来更有机、自然,我将噪声节点(如 Perlin 噪声和方向性噪声)接入 Directional Warp 和 Anisotropic Blur 节点。这使瓷砖边缘和表面平整度发生扭曲,消除了那种刻板、计算机生成的外观。
  • 步骤 3:提取遮罩和细节。使用 Threshold、Non-Uniform Blur 以及各种渐变生成器等节点,我隔离出高度图的特定部分。这帮助我定位想要引入微观细节、表面磨损和细微高度变化的区域。
  • 步骤 4:分层与重新组合。最后,我使用一系列 Blend 节点,将所有扭曲细节、噪声图和边缘损伤重新分层叠加到主瓷砖结构上。通过仔细控制混合模式,我最终得到了一张丰富、高度精细的基础高度图,可以输入到完好、破损和损坏的子图表中。
Building a Medieval Encaustic Floor Tile Material Using Substance 3D & UE5

填缝剂制作

步骤 1:分离填缝线。我先提取瓷砖结构,并将其通过 Threshold(阈值)和 Invert Grayscale(反相灰度)节点。这样我就能干净地分离并反转瓷砖之间的缝隙,从而专门为填缝通道创建精确的遮罩。

步骤 2:添加表面噪波与磨损。为了防止填缝剂看起来完全平整而死板,我搭建了一条次级分支,使用 Clouds 和 BnW Spots 节点,并通过 Levels 和 Blend 节点进行处理。这生成了有机的表面颗粒感和细微的纹理变化。

步骤 3:扭曲与柔化细节。我将那张噪波贴图通过 Slope Blur Grayscale 和 Anisotropic Blur 节点,以打破生硬的边缘,让填缝剂呈现出风化、略微侵蚀的外观,而不是干净的矢量线条。

步骤 4:合并与最终处理。最后,我用一系列 Blend 节点将填缝遮罩与侵蚀后的噪波细节合并,并将最终输出通过 Levels 节点来调整深度和对比度,然后再将其输入主图表。

Building a Medieval Encaustic Floor Tile Material Using Substance 3D & UE5

图案创建

  • 步骤 1:构建基础形状(Shape 01 与 Shape 02)。我首先使用基础的 Shape 节点生成基础图元形状,然后通过 Transformation 2D、Skew 和 Mirror Grayscale 节点对它们进行修改,从而创建出定制化的花瓣与弯曲几何元素。
  • 步骤 2:使用 Tile Sampler 分布元素。借助 Splatter Circular Grayscale 和 Tile Sampler Grayscale 节点,我将这些单独的自定义形状散布并排列到网格上,组合成复杂的花卉与几何徽章图案。
Building a Medieval Encaustic Floor Tile Material Using Substance 3D & UE5
  • 步骤 3:分层与细化图案。通过使用 Blend 和 Anisotropic Blur 节点组合多个瓷砖网络和环形形状,我添加了复杂的次级细节、平滑的渐变和柔和的过渡,以丰富设计。
  • 步骤 4:实现图案切换。最后,我将这些不同的配置整理到不同的帧(Shape 01 和 Shape 02)中,并将它们路由到一个 Switch Patterns 节点中。这使我能够轻松地在图表中的不同结构变体之间切换,同时保持工作流程的整洁和非破坏性。

基础颜色创建

  • 步骤 1:建立基础颜色基础。我首先将核心结构数据和形状遮罩输入到 Uniform Color(统一颜色)和 Gradient Map(渐变映射)节点中,并搭配 Curvature Smooth(曲率平滑)节点,以定义整块瓷砖上的主色调色板与局部颜色变化。
Building a Medieval Encaustic Floor Tile Material Using Substance 3D & UE5
  • 第 2 步:添加污垢、尘垢与表面变化。我使用由程序化噪声构成的网络并配合混合(Blend)节点,将局部污垢、污渍和色彩变化分层叠加到缝隙与表面孔隙之中,以打破整体的单一均匀感。
  • 第 3 步:利用 HSL 与渐变进行色调控制。我将颜色数据通过 HSL(色相、饱和度、明度)和调整节点进行处理,以动态微调色彩数值,确保瓷砖与填缝剂之间形成自然、和谐的色彩分布。
  • 第 4 步:最终完善与细节分层。最后,我使用多个混合节点将环境光遮蔽与边缘磨损遮罩结合起来,在边缘处引入细微的高光、在凹陷处引入更深的做旧风化效果,从而得到一张丰富、可直接投入生产的底色贴图。

粗糙度创建

  • 步骤 1:设置基础粗糙度。我首先获取核心高度和结构贴图,并将它们通过 Levels 节点,以建立主要的粗糙度范围,确保整体表面不完全均匀或平坦。
Building a Medieval Encaustic Floor Tile Material Using Substance 3D & UE5
  • 步骤2:提取曲率和边缘磨损。结合使用 Curvature Smooth 节点与 Invert Grayscale 和 Levels 节点,我生成了锐利的遮罩,用以隔离边缘、角落以及接触点,这些位置物理磨损会自然改变表面反射率。
  • 步骤3:叠加噪波与微表面细节。我整合了一个程序化噪波源(Dirt 1),并通过一系列 Blend 节点将其混合到粗糙度流中,这有助于打散镜面反射响应,并添加逼真的细颗粒变化。
  • 步骤4:串联并最终确定贴图。最后,我将多个 Blend 节点串联起来,把曲率磨损和噪波细节叠加到基础粗糙度上,最终得到干净的输出,直接接入图表的 Roughness 节点。

我在制作其他瓷砖贴图和饰边贴图时也遵循了类似的工作流程,使整体方法与第一个材质保持一致。每一种贴图都围绕同样的重点来开发——表面变化、图案排布、材质破碎感以及叙事性,这样当它们组合成最终的地面铺装布局时,能够协调统一地协同工作。

我还在比例尺度、细节密度和视觉语言上保持了统一性,确保不同的瓷砖与饰边元素看起来像是同一个环境中的组成部分,而不是彼此割裂的独立材质。

展示呈现

作为一名游戏开发者,我始终通过实时渲染来展示我的材质和 3D 环境作品。为此,我主要使用 Unreal Engine 5。另一个原因是我希望自己的作品集能展示游戏可直接使用的资产,并演示它们在实际游戏引擎中的运行效果。

展示本身是提前规划好的,因为我打算制作三种不同的贴图变体。这次展示的思路是演示我如何借助引擎自身所具备的工具与功能来讲述一个故事。 

我首先搭建了一套自定义的贴图打包设置,它成为了该材质在 Unreal Engine 中呈现与使用方式的基础。

贴图打包

为此,我采用了两张打包贴图,并使用如下的通道配置:

Building a Medieval Encaustic Floor Tile Material Using Substance 3D & UE5
  • RGBA 贴图。RGB 通道包含主要的 Base Color(基础色)数据,而 A(Alpha)通道用作遮罩,可以表示 Height(高度)或 Grayscale Blend Mask(灰度混合遮罩)。
  • NRH 贴图。R 和 G 通道包含 Normal Map(法线贴图)数据,而法线贴图的 B 通道在着色器内计算以重建法线。然后,贴图的 B 通道用于 Roughness(粗糙度)或包含 Roughness 贴图,A 通道存储 Height(高度)或 Grayscale Blend Mask(灰度混合遮罩)。

导出两张贴图,并采用恰当的命名规范,以便有序使用。

三贴图顶点混合材质的创建

1. 贴图设置与整理

构建该材质的第一步是为三种不同的变化设置核心贴图:完好(A)、破碎(B)和损坏(C)。

Building a Medieval Encaustic Floor Tile Material Using Substance 3D & UE5

基础颜色贴图(左侧组)

  • UV坐标输入:所有三个纹理采样节点(01_BaseColor_Clean、02_BaseColor_Broken和03_BaseColor_Damaged)都由一个共享的UV坐标节点驱动,以确保统一的缩放。
  • 输出:每个纹理采样的RGB输出输入到相应的参数集合或材质属性节点(BaseColor_A、BaseColor_B和BaseColor_C),为混合做准备。

法线贴图和粗糙度贴图(右侧组)

  • UV 坐标输入:与基础颜色类似,法线贴图变体(01_Normal_Clean、02_Normal_Broken 和 03_Normal_Damaged)共享一个公共的 UV 坐标节点。

通道打包与分离

  • RGB 通道分别接入各自的法线贴图参数(Normal_A、Normal_B、Normal_C)。
  • 法线贴图中的蓝色(B)通道驱动粗糙度参数(Roughness_A、Roughness_B、Roughness_C)。
  • Broken 和 Damaged 法线贴图的 Alpha(A)通道连接到特定的高度遮罩(Vertex_B_HeightMask 和 Vertex_G_HeightMask),以便后续用于顶点绘制或基于遮罩的混合。

2. UV 平铺与顶点颜色设置

本节涵盖纹理的全局缩放控制以及基于顶点的混合遮罩的设置。

Building a Medieval Encaustic Floor Tile Material Using Substance 3D & UE5

UV 平铺网络(左侧)

  • TexCoord[0] 节点与一个标量 UV 参数(默认值 1.0)相乘,以控制全局纹理平铺,并为所有纹理采样提供输入。

顶点颜色节点(右侧)

  • 输入数据:一个顶点颜色节点会提取直接绘制在网格顶点上的颜色/遮罩数据。
  • 通道拆分:
    • 红色(R)通道连接到一个 Vertex_R 参数。
    • 绿色(G)通道连接到一个 Vertex_G 参数。
    • 蓝色(B)通道连接到一个 Vertex_B 参数。
  • 用途:这些顶点颜色通道将作为驱动遮罩,用于在网格表面上的干净、破损和损坏材质变体之间进行混合。

3. 顶点与纹理遮罩混合

该网络将顶点颜色通道与高度贴图及可调参数结合起来,为破损和损坏状态创建干净的混合遮罩。

Building a Medieval Encaustic Floor Tile Material Using Substance 3D & UE5

绿色通道/破损遮罩设置(顶部)

  • 高度组合:将 Vertex_G_Height 遮罩与 Vertex_G 颜色通道相乘,以将顶点遮罩与纹理的高度数据混合。
  • 强度调整:将结果值乘以一个标量参数 Mask_Strength_A(默认值 1.0),以控制混合的强度。
  • 钳制与输出:一个 Saturate 节点将值钳制在 0.0 到 1.0 之间,然后输出到 Vertex_G_Blended 参数。

蓝色通道/破损遮罩设置(底部)

  • 高度组合:Vertex_B_HeightMask 与 Vertex_B 颜色通道相乘。
  • 强度调整:该乘积会乘以一个标量参数 Mask_Strength_B(默认 1.0),用于微调破损强度。
  • 钳制与输出:Saturate 节点将范围清理到合法区间,并输出到 Vertex_B_Blended 参数。

4. BaseColor 混合

  • 链式插值:三个 Linear Interpolate (Lerp) 节点串联,用于混合纹理变化。
  • 层整合:该网络使用 Vertex_B_Blended 混合 Name_1 与 BaseColor_C,接着使用 Vertex_G_Blended 将结果与 BaseColor_B 混合,最后使用 Vertex_R 遮罩与 BaseColor_A 混合。
  • 输出:最终混合后的颜色经过一个 Mask (R G B) 节点,然后直接连接到 BaseColor_Output。
Building a Medieval Encaustic Floor Tile Material Using Substance 3D & UE5

5. Roughness 混合

  • 通道混合:与 BaseColor 网络类似,三个 Lerp 节点基于顶点遮罩和高度遮罩组合粗糙度贴图。
  • 过渡逻辑:Roughness_C 与 Roughness_A 通过 Vertex_B_Blended 混合,然后使用 Vertex_G_Blended 与 Roughness_B 组合,最后由 Vertex_R 驱动与 Roughness_A 叠加。
  • 输出:得到的结果值直接接入 Roughness_Output。
Building a Medieval Encaustic Floor Tile Material Using Substance 3D & UE5

6. 法线贴图混合

  • 表面法线组合:三个 Lerp 节点以并行方式处理法线贴图的过渡。
  • 遮罩应用:Normal_A 与 Normal_C 使用 Vertex_B_Blended 混合,接着使用 Vertex_G_Blended 混入 Normal_B,最后使用 Vertex_R 遮罩与 Normal_A 混合。
  • 输出:最终组合后的表面法线向量接入主材质的 Normal Map 输出。
Building a Medieval Encaustic Floor Tile Material Using Substance 3D & UE5

7. 法线重计算

这个最终润色步骤可确保混合后的法线贴图在发送到主材质输出之前,仍保持正确的光照与向量方向。

Building a Medieval Encaustic Floor Tile Material Using Substance 3D & UE5
  • 通道遮罩:组合后的 NormalMap 数据经过一个 Mask (R G) 节点,以分离红色和绿色切线通道。
  • 范围重映射:遮罩后的向量先乘以 2.0,再减去 1.0,从而将颜色范围从纹理空间正确重映射回标准切线向量空间。
  • Z 推导与输出:DeriveNormalZ 节点重新计算表面法线缺失的蓝色(Z)通道,然后直接连接到最终的 Normal_Output 节点。
Building a Medieval Encaustic Floor Tile Material Using Substance 3D & UE5

虚幻引擎展示

我首先将瓷砖纹理和边缘装饰纹理都进行 UV 展开,排布成一个地板布局,目的是打造一个更具整体感和故事性的表面,而不是简单地把纹理作为单独材质来展示。这个布局旨在在整个地面上营造自然的变化和视觉节奏,同时保留原始瓷砖图案的特征。

为了建立清晰的比例与尺度感,我在场景中加入了一个无光照的人体模型。这提供了一个有用的人体参照,用来理解地板与角色之间的关系,也有助于从玩法视角评估整体构图。

Building a Medieval Encaustic Floor Tile Material Using Substance 3D & UE5

一旦基本设置就位,我便确定了摄像机角度和构图。从那时起,我将摄像机视图视为开发材质及其叙事的主要参考。我没有在整个地板上均匀地应用相同程度的变化,而是专注于从最终镜头中实际感知表面的方式。

Building a Medieval Encaustic Floor Tile Material Using Substance 3D & UE5

使用顶点绘制,我在整个地板上有选择性地混合并分布了不同的材质变体。这让我能够在最有助于构图的地方引入磨损、暴露、损坏、色调变化和破碎感。更显眼的区域获得了更强的变化和细节,而不太突出的区域则保持相对微妙,以避免不必要的视觉噪点。

Building a Medieval Encaustic Floor Tile Material Using Substance 3D & UE5

因此,顶点绘制不仅被用作混合材质的技术方法,还被用作叙事和构图的工具。我希望地板感觉像是一个自然老化、被人踩踏过、随时间被使用过的表面,而不是程序化生成且均匀分布的东西。

Building a Medieval Encaustic Floor Tile Material Using Substance 3D & UE5

我还注意了顶点绘制的变化如何与现有的瓷砖图案和装饰边饰细节相互作用,确保它们在增强底层纹理的同时不会压过其设计。这有助于营造出更具刻意安排的细节层级,并使更强的视觉元素在所选相机角度下依然清晰可读。

Building a Medieval Encaustic Floor Tile Material Using Substance 3D & UE5

在灯光方面,我有意让设置保持得相当简单。仅用一盏聚光灯就足以凸显材质的质感定义、表面的破碎感以及瓷砖的细节。我发现,一盏柔和、暖色温并随着距离逐渐衰减的聚光灯,与这些贴图搭配得尤为出色,因此我没有进一步强化灯光,而是把重点放在材质本身及其叙事上。

Building a Medieval Encaustic Floor Tile Material Using Substance 3D & UE5

整体而言,整个流程的出发点是把摄像机视角视为资产的最终呈现。通过把 UV 排布、材质变体、顶点绘制、尺度参照、构图以及简洁的灯光结合起来,我能够控制观者注意力的落点,让地板在最终镜头中显得更刻意、更具叙事性。

结语

作为专门投入学习与实验的阶段的一部分,整个项目从开始到结束大约用了 8 到 10 天完成。这一时间跨度涵盖了作品的完整生命周期,从最初的规划、参考收集和项目组织开始。 

随后流程进入资产制作阶段,具体是开发三种独特的贴图变体(Clean、Broken 与 Damaged),接着是在 Unreal Engine 中精细搭建分层着色器图表与顶点遮罩混合网络。

我最享受的部分无疑是表面材质(surfacing)阶段,尤其是通过贴图进行视觉叙事这一方面。我并不把这些贴图看作标准的技术图层,而是选择为表面的历史与环境设想更深层的叙事,以此为切入点来对待它们。

要把这些创意想法变成现实,需要大量依赖我积累的视觉库以及收集来的参考素材,这样才能在想象与最终执行之间搭起桥梁,达成理想的效果。

在学习和寻找灵感方面,我并不会只关注某一个平台。不过,像 Vincent Dérozier、Javier Perez、Eric Wiley 和 Daniel Thiger 这样的材质艺术家给了我很多启发。他们在个人作品集中分享了非常精彩的拆解(breakdown),他们的 YouTube 频道也提供了很多值得学习的内容。

此外,Substance 官方频道和 Johnny Nodes 也是学习教程的好去处。80 Level 同样是极其宝贵的资源;大量与材质美术创作相关的文章在我的整个学习阶段都给予了我巨大的帮助,如今依然如此。

特别感谢 Ishan Verma 对我的信任、不断的鞭策,以及自始至终的指导。他的指引与支持帮助我学习,并让我在这段旅程中收获更多。

我也要感谢 80 Level 给我机会,通过这篇文章分享我的作品与制作流程。记录工作流、展示创作这些材质时所用的一些技法和决策,是一次很棒的体验。

如果你想与我联系,或想关注我更多的作品,欢迎在 LinkedIn 上与我联系。

Alisa Prakapenka,材质艺术家

采访:Amber Rutherford

相关链接

原文链接:https://80.lv/articles/building-a-medieval-encaustic-floor-tile-material-using-substance-3d-ue5

喜欢这篇内容吗?