做地砖材质听起来只是“找一张瓷砖贴图拖进去”的事但真正在项目里落地时你会发现一大堆问题花纹对不齐、砖缝糊成一片、相邻两块砖重复感极强、远看颜色发灰、近看法线却像翻皮。尤其是“花色地砖”它不是一块纯色砖而是带有明确图案、规律排列、甚至需要设计感的表面。这种材质用网上的公共贴图很难满意因为花纹通常和你的场景比例、空间风格、灯光氛围绑在一起。自己做一张定制化程度高也容易统一体积、粗糙度、AO 这些PBR参数。这篇文章会从零讲清楚花色地砖材质的完整制作流程先理解它的PBR贴图链路再拆解花纹设计与无缝平铺的方法然后给出实际可复用的制作示例包括基于 Python 的平铺验证脚本、Substance Designer 的节点思路、Unity/UE 里的材质配置最后补上常见问题排查和工程化建议。读完你可以自己产出一套可直接放进项目使用的花色地砖材质而不是再从素材网站找一张凑合。1. 这篇文章真正要解决的问题花色地砖材质制作的难点不在于“贴图分辨率够不够大”而在于你能否把“图案设计”和“物理材质表现”拆成两类可控的流程。很多初学者只画一张彩色贴图然后把它丢给 PBR 材质结果出现两种典型问题表面缺少微观起伏灯光一打就像贴纸花纹“浮”在瓷砖上面。做了法线贴图但法线方向搞反或粗糙度全部用同一个值导致釉面效果要么太油要么太哑严重失真。如果你在开发游戏、做数字孪生、做室内可视化或者只是想系统理解材质制作这篇文章会帮你建立一套可复用的方法而不是停留在“画一张图”的层面。我给你的判断是花色地砖材质的好坏七成取决于平铺单元的设计和法线、粗糙度是否匹配图案逻辑三成才取决于颜色贴图画得是否漂亮。2. 花色地砖的核心概念与 PBR 贴图链路PBR 材质在现代引擎中已经非常成熟核心思路是用若干张贴图描述物体表面的光学属性。花色地砖虽然是“砖”但它本质上是一个硬质、带釉面、有规则图案的平面材质贴图链路一般包含以下几张贴图类型常见后缀作用花砖里的注意点基础颜色 BaseColor_BaseColor/_D记录漫反射颜色和图案信息不要在里面画光影和高光只画固有色和图案法线 Normal_Normal/_N记录表面凹凸方向让表面有立体感砖缝、釉面下笔触、轻微不平整都可以在这里体现粗糙度 Roughness_Roughness控制表面反射模糊程度釉面砖整体偏低但砖缝、磨损处应该变高金属度 Metallic_Metallic记录金属属性花砖几乎全黑非金属环境光遮蔽 AO_AO记录缝隙、角落的阴影砖缝、拼接缝、边角要压暗高度 Height_Height用于视差或曲面细分可选主要用于近景强调立体感花色地砖和纯色地砖最大的差异在于图案是“跨砖缝”的还是“一块砖一个图案”的。比如经典的复古花砖通常是 600x600 或 300x300 的一块砖图案可能围绕中心对称在四角又有关联。此时如果你只做一张 2048 的贴图当作一整块地面结果就是重复感极强而且砖缝位置很难让花纹看起来像一块块砖拼出来的。正确思路是先设计一块砖范围内的完整图案再让它无缝拼接。这决定了你在制作时必须同时考虑两个维度图案单元是否可平铺砖缝是否与图案边界对齐。这里要澄清一个常见误解无缝贴图不等于“看不出重复”。对于花色地砖“重复”是真实铺贴效果的体现我们要做的是让重复的单元足够有细节、足够自然而不是追求完全随机。完全随机会失去地砖的规律美感。3. 制作工具与项目环境准备做花色地砖材质工具链可以很轻也可以很重关键看你的工作流。个人或小团队推荐Substance Designer程序化生成和节点式制作适合做可参数化的花砖后续改尺寸、改配色非常快。Substance Painter如果你已经有了图案底图只想快速叠加材质细节Painter 效率更高。Blender免费适合快速搭建测试场景查看真实光照下贴图效果。Photoshop 或 Krita用于绘制初始花纹、调整图案布局、做手绘纹理叠加。通用命令行工具用 Python 脚本验证图案是否无缝比肉眼判断更高效。从项目流程角度建议准备一个清晰的文件夹结构project_root/ ├── source/ │ ├── references/ # 参考图 │ ├── pattern/ # 花纹设计源文件 │ └── tile_base/ # 单块砖底图与扫描素材 ├── export/ │ ├── 2k/ │ └── 4k/ ├── engine/ │ ├── unity/ │ └── unreal/分辨率选择不要一概而论。如果是第三人称游戏地面的贴图分辨率通常 2048 足够如果是室内设计展示镜头可能贴近地面看细节建议 4096 甚至更高。但要注意法线贴图和粗糙度贴图其实不需要和基础颜色同分辨率它们描述的是高频细节可以在输出时单独控制 mipmap 和压缩格式。色彩空间上BaseColor/AO 贴图使用 sRGB法线贴图和粗糙度贴图要设置为线性空间这一点在导出到 Unity 或 Unreal 时很容易踩坑。很多人在引擎里看到材质整体发灰常常就是颜色贴图被当成线性空间处理或者法线贴图被 sRGB 二次编码。4. 核心流程拆解从参考图到可平铺贴图花色地砖材质的制作流程可以拆成六个步骤。4.1 确定砖块规格与花纹边界先问自己三个问题砖是 300x300、600x600还是异形砖花纹是完整居中还是四角连续砖缝宽度在最终贴图里占多少像素这些问题决定了你的贴图分辨率分配。比如一张 2048 的贴图如果想表现 600x600 的砖砖缝想要清晰可见那么砖缝至少占 16-32 像素否则缩小之后会消失。这个比例需要在制作前定下来否则后面很容易返工。参考图的作用不是照着抄而是提炼规律。把参考图拉进软件后先做网格叠加看清楚花纹的重复节拍。多数复古花砖并不是完全随机图案而是有明确的基本单元、对称轴和角花结构。把这些结构画成黑白的布局草图会极大提高后续效率。4.2 设计单块砖内的图案单元在 Substance Designer 里可以使用 Tile Generator 结合 Polygon Splatter 实现砖面图案基础分布在 Photoshop 里则要自己建立网格参考线。无论用哪种目标都是让图案在一块砖范围内自洽同时边缘不能出现“半截花纹”的突兀感。如果花纹是自由曲线最稳妥的做法是把图案主体放在画布中心区域边缘只保留可以连续延伸的结构线然后在另一个图层复制画布、水平翻转或垂直翻转反复检查边缘衔接。4.3 处理平铺接缝平铺接缝是花砖制作里最让人头疼的问题之一。一个高效的检查方法是“偏移测试”把图片上下左右各偏移半个或一个砖格看接缝处是否过度自然。如果你用手绘图案可以把边缘复制到另一侧用修补工具处理交叉点。如果你用 Substance Designer尽量用节点化方式生成规律图案因为程序化方法天然更容易做到边缘连续。也可以利用 “Tile Sampler” 节点来铺设多块砖再通过整体输出判断图案是否能在整面地面连续。4.4 生成法线、粗糙度、AO颜色贴图做完之后只完成了材质的一半。法线贴图要表现的信息包括砖缝内凹、砖面细微不平、釉面下的笔触厚度。砖缝部分是相对平坦的凹槽法线方向要略微向下往里收砖面中央可以加一点微弱的噪波模拟陶瓷烧制时的起伏。粗糙度贴图和法线贴图是配套的釉面区粗糙度低砖缝区粗糙度高磨损边角粗糙度略高。所谓“低粗糙度”不是纯黑死黑通常在 0.1-0.3 之间砖缝则可能在 0.6-0.9。AO 贴图重点压暗砖缝、以及砖块边缘被釉面覆盖形成的交界处。注意 AO 不应该替代光影它是让缝隙“陷进去”的关键。4.5 平铺测试与修正把做好的贴图放进 Blender 或引擎建立一块大地面把 UV 缩放调成合适比例从俯视、45 度角、贴地近景三个角度观察。这一步能暴露 80% 的问题。测试时建议关闭后处理用纯天光和一张方向光避免泛光和环境雾掩盖材质问题。如果大面积重复感太强不是去整体打乱花纹而是要增加一块砖内的细节层次或者使用多套砖面变化。4.6 导出与引擎接入导出时贴图命名要规范建议统一后缀T_FlowerTile_BaseColor、T_FlowerTile_Normal、T_FlowerTile_Roughness、T_FlowerTile_AO。不同引擎的压缩格式不一样后面专门用一节来讲。5. 花色地砖材质制作完整示例下面进入可操作部分。我们用一个最小示例跑通“图案设计到平铺验证”的流程然后给出 Substance Designer 节点思路和引擎配置。5.1 用 Python 快速验证图案平铺性这一步不是让你用 Python 画最终贴图而是用脚本快速生成一张带网格和花色块的测试图检查平铺边界是否会出现断裂。这样做成本极低可以在动手细画之前就发现明显的边缘问题。# 文件路径scripts/generate_tile_preview.py from PIL import Image, ImageDraw TILE_SIZE 512 GRID 2 # 横向和纵向各分成 2 块模拟 2x2 拼接 image Image.new(RGB, (TILE_SIZE, TILE_SIZE), #f0e6d5) draw ImageDraw.Draw(image) cell TILE_SIZE // GRID # 绘制花纹中心放射线 四角圆点 center TILE_SIZE // 2 radius cell // 3 draw.ellipse((center - radius, center - radius, center radius, center radius), fill#b84a3c) for i in range(4): angle i * 90 import math rad math.radians(angle) x1 center int((radius - 10) * math.cos(rad)) y1 center int((radius - 10) * math.sin(rad)) x2 center int((radius 60) * math.cos(rad)) y2 center int((radius 60) * math.sin(rad)) draw.line((x1, y1, x2, y2), fill#3c6b47, width8) # 绘制砖缝 for i in range(1, GRID): pos i * cell draw.line((0, pos, TILE_SIZE, pos), fill#666666, width4) draw.line((pos, 0, pos, TILE_SIZE), fill#666666, width4) # 保存原始图和偏移图用于接缝检查 image.save(tile_preview.png) offset TILE_SIZE // 2 shifted Image.new(RGB, (TILE_SIZE * 2, TILE_SIZE * 2)) shifted.paste(image, (0, 0)) shifted.paste(image, (TILE_SIZE, 0)) shifted.paste(image, (0, TILE_SIZE)) shifted.paste(image, (TILE_SIZE, TILE_SIZE)) # 裁切中间 2x2 区域 crop shifted.crop((offset, offset, offset TILE_SIZE, offset TILE_SIZE)) crop.save(tile_preview_offset.png)运行方式pip install pillow python scripts/generate_tile_preview.py生成的两张图对比如下tile_preview.png是原始单砖图案。tile_preview_offset.png是模拟平铺后从偏移位置截取出的画面。如果tile_preview_offset.png中能明显看到花纹断裂、中心图案被切断且无法自然衔接说明这个图案单元不平铺。你需要回到源文件把图案边缘的手尾对齐。这个脚本特别适合做验证比直接在 Substance 或 PS 里反复关图层肉眼对比更快。你可以把脚本中的GRID改成 3查看不同偏移位置的拼接效果。5.2 在 Substance Designer 中制作花砖的节点思路Substance Designer 做花砖材质优势在于完全程序化改尺寸、改配色、做多套变体都很方便。下面给出一个经过实际验证的节点逻辑你可以照着搭。Tile Generator: 铺砖形状Brick Size 设置为 512x512间距设置为 16 像素用于生成砖缝和砖块分区 BaseColor 分支 Shape / Polygon Splatter: 在砖面中心放置主图案 Shape / Circle Cross: 组成角花元素 Blur Levels 处理图案边缘 Gradient Map / Grayscale 映射成砖面颜色 Blend 叠加旧色、米色、陶土色等形成颜色层次 Tile Generator 的 Mortar 通道作为砖缝颜色叠加层 Normal 分支 Tile Generator 的 Height 输出连到 Normal 节点产生砖缝凹凸 叠加 Perlin Noise用 Level 控制强度模拟釉面微小起伏 Roughness 分支 基础值设为 0.15低粗糙度模拟釉面 用砖缝 Mask 混合进 0.7 的高粗糙度 AO 通道中砖缝越暗的部分粗糙度越高这里真正容易踩坑的地方是Tile Generator 生成的砖缝和你的花纹图案分属于两个不同坐标系。如果你要做一个“图案跨四块砖连续”的花砖不能直接使用单个 Tile 节点的输出而要将图案节点建立在连续空间里再交给后续节点按砖格裁剪。也就是说先画整面连续纹理再叠加砖缝而不是先做一块砖再铺开。5.3 Blender 中的 PBR 组合与光照检查Blender 是免费、跨平台的材质测试环境。把导出的贴图接入 Principled BSDF 时需要注意色彩空间设置BaseColor 和 AO 保留 sRGBNormal 和 Roughness 设置为 Non-Color。你可以用下面的 Python 脚本批量检查贴图文件是否齐全避免进入引擎后才发现少了一张 Roughness 贴图# 文件路径scripts/check_textures.py import os from pathlib import Path REQUIRED_SUFFIX [BaseColor, Normal, Roughness, AO] texture_dir Path(export/4k) for file in sorted(texture_dir.glob(*.png)): name file.stem missing [s for s in REQUIRED_SUFFIX if s.lower() not in name.lower()] if missing: print(f[WARN] {name} 缺少后缀: {missing}) else: print(f[OK] {name})在 Blender 里测试时建议开一个 5m x 5m 的平面把 UV 设置为 2 到 3 块砖的尺寸然后用一个太阳光和一个面光模拟室内照明。观察高光是否集中在釉面区域砖缝在远处是否自然消失、近处是否干净利落。5.4 Unity 材质参数配置示例在 Unity 中最稳妥的做法是使用 URP/HDRP 自带的 Lit Shader而不是自己写 Shader。导入贴图时要注意贴图Texture TypesRGBBaseColorDefaultYesNormalNormal MapNoRoughness/AODefaultNo如果你使用的是 URP Lit可以直接在材质面板里赋贴图。下面是一个可读性较强的自定义 Shader 片断用于理解采样逻辑不是必须用于项目。项目中更推荐基于 Shader Graph 或 URP Lit 调整。// 说明此 Shader 用于理解“花色地砖”的贴图采样逻辑生产环境请使用 URP Lit。 Shader Custom/PatternedTileReadOnly { Properties { _BaseMap (Base Map, 2D) white {} _NormalMap (Normal Map, 2D) bump {} _Smoothness (Smoothness, Range(0, 1)) 0.7 } SubShader { Tags { RenderTypeOpaque QueueGeometry } Pass { HLSLPROGRAM #pragma vertex vert #pragma fragment frag #include Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl #include Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl TEXTURE2D(_BaseMap); SAMPLER(sampler_BaseMap); TEXTURE2D(_NormalMap); SAMPLER(sampler_NormalMap); CBUFFER_START(UnityPerMaterial) float _Smoothness; CBUFFER_END struct Attributes { float4 positionOS : POSITION; float2 uv : TEXCOORD0; }; struct Varyings { float4 positionHCS : SV_POSITION; float2 uv : TEXCOORD0; }; Varyings vert(Attributes input) { Varyings output; output.positionHCS TransformObjectToHClip(input.positionOS.xyz); output.uv input.uv; return output; } half4 frag(Varyings input) : SV_Target { half4 baseColor SAMPLE_TEXTURE2D(_BaseMap, sampler_BaseMap, input.uv); half4 normalTS SAMPLE_TEXTURE2D(_NormalMap, sampler_NormalMap, input.uv); return half4(baseColor.rgb, 1.0); } ENDHLSL } } }这段代码的作用是让你看清一张花色地砖材质在运行时到底依赖哪些贴图信息。实际项目直接用 URP Lit 即可没必要自己维护 Shader除非你有大量花砖变体需要统一管理。5.5 UE 中的材质设置思路Unreal Engine 中导入贴图后需要在纹理资源里修改压缩设置BaseColor 使用 SRGB压缩格式可选 BC1 或 BC7。Normal 使用 Normalmap线性空间。Roughness/AO 使用线性空间单通道可以打包到 BC5 的 G/B 通道。材质连接上TextureSample BaseColor - Base Color 节点 TextureSample Normal - Normal 节点 TextureSample Roughness - Roughness 节点 TextureSample AO - Ambient Occlusion 节点 TextureSample Metallic - Metallic 节点全部设为 0 或接近 0如果你希望砖面有轻微视差效果可以把 Height 贴图连到 Parallax Occlusion Mapping 节点的 HeightMap 输入并微调 Height Scale一般 0.02-0.05 就够太大会出现边缘飞边。6. 运行结果与效果验证材质做出来之后不能只看材质球缩略图要在实际场景中验证。6.1 平铺验证把 Python 脚本生成的tile_preview_offset.png和tile_preview.png放到同一个视图里对比。重点看图案在偏移截取后是否仍保持完整。砖缝是否对齐。重复单元之间是否出现异常大的空白或密集花纹区域。如果图案是“一块砖一个中心花纹”偏移检查后中心花纹应该仍然位于每一块砖的中央而不是被截掉一半。如果出现截断说明你的图案单元与砖格坐标没有对齐。6.2 引擎内验证在 Unity 或 UE 中创建一个 4m x 6m 的地面把地砖材质赋上去UV 平铺次数按照真实砖块尺寸计算。例如 2048 贴图对应一块 600mm 的砖那么 4m 宽地面大约需要 6.67 块砖UV Tiling 可以设为 6.67。测试时从四个角度截图俯视检查大范围重复感和砖缝分布。45 度角检查高光表现和砖缝 AO 是否自然。贴地近景检查法线细节和釉面反射近景最容易看出法线方向是否反了。夜晚/暗光检查粗糙度是否准确太亮容易“塑料化”。如果不确定法线方向是否正确可以在材质编辑器里把法线贴图从 Normal Map 改为 Default再看表面是否有错误的高光翻转。最直接的检查方法是用引擎自带的标准球或平面把 Light Direction 设置为侧方向观察凹陷处是否朝向光源方向收光。6.3 判断成功的标准一套合格的花色地砖材质应该满足远看有明确的砖块分割感花纹清晰。近看有釉面反光但高光不过曝。砖缝有内凹感不是一条亮线或一条黑线。大面积铺开后没有明显的接缝断裂。颜色贴图不携带冗余黑影AO 与砖缝匹配但不越权。如果出现“颜色太脏”“花纹像贴上去的”优先检查是不是法线和粗糙度没跟上而不是继续调颜色贴图。7. 常见问题与排查思路问题现象可能原因排查方式解决方案图案平铺后出现明显接缝图案边缘没有做偏移检查边缘线条断裂使用偏移测试脚本检查回到源文件把边缘图案偏移复制并修补交界处远看砖缝消失花纹糊成一片砖缝像素宽度太小或 AO 对比度不足放大观察砖缝区域检查 Mipmap提高砖缝宽度加强 AO 压暗不要把所有细节都画在 BaseColor法线方向看起来是反的法线贴图绿色通道或压缩格式设置错误在引擎里切换 Normal Map 属性观察修正导入设置确认 D3D/OpenGL 法线格式覆盖颜色整体发灰BaseColor 被当成线性空间处理或 AO 过强检查贴图色彩空间BaseColor 设为 sRGBAO 强度降低到 0.7 以下高光太强像塑料粗糙度贴图全部为 0或没有接入 Roughness 通道检查材质节点和贴图通道给 Roughness 接入贴图釉面区域 0.15-0.3砖缝 0.6-0.9大面积重复感强每块砖只有一套花纹且细节层次少在场景中铺大面积测试增加边缘磨损、釉面色差、轻微噪波使用多套砖面变体近处清晰远处闪烁或摩尔纹Mipmap 生成策略不当或贴图高频细节过多观察远距离截图在引擎中调整 Mipmap 模糊强度减少法线频率过高的噪波导出后 BaseColor 和 Normal 对不上图案设计阶段使用不同画布尺寸或轴心不一致检查贴图尺寸和中心点统一贴图分辨率和图案分布逻辑砖缝坐标必须对齐这里最容易忽略的一个细节是Roughness 和 AO 不要都从同一张灰度图直接拉出来用。砖缝与砖面的关系在不同通道里应该既有相关性又有差异。AO 只管阴影Roughness 还受磨损、落灰和釉面破坏影响。如果两张图完全一致材质会在某些灯光角度下显得“过度统一”。8. 花色地砖材质的最佳实践与工程建议8.1 从平铺逻辑开始而不是从颜色开始很多人在做花砖时第一反应是找一张喜欢的图案然后直接细化颜色。但正确顺序应该是先把砖格、花位、重复逻辑定下来再考虑配色和材质细节。因为你后期要改的往往是图案位置、砖缝宽度而不是颜色。8.2 把颜色贴图和工作贴图分开制作不要把 AO、阴影、高光都画进 BaseColor。程序化流程里可以先输出一张纯“固有色图案”的贴图然后让 AO 和 Roughness 在后续步骤叠加。这样好处是你换一套配色时不需要重构整个材质只需要换 Gradient Map 或调色节点。8.3 利用通道打包减少材质采样压力如果你在移动端项目里做花砖四张 4096 贴图可能太奢侈。可以考虑把 Metallic 和 Roughness 合到一张贴图的 R 和 G 通道。AO 放进 B 通道。用 BC7 压缩保留颜色细节。这样最终只需要两张 2048一张是 BaseColor一张是 Mask。不过通道打包会增加美术混乱团队里必须维护一份通道说明文档。8.4 注意纹理重复与 Mipmap 的平衡花色地砖不像大理石那样需要极高频细节但它有强烈的规则图案Mipmap 之后容易出现摩尔纹。解决办法是在 Substance Designer 里给图案加一个低通滤镜输出或者在引擎中手动调整 Mipmap 模糊强度。如果是 UE可以在纹理设置中给 BaseColor 单独设置较弱的 Mip 模糊如果是 Unity可以调整 Aniso Level不要为了清晰度直接把 Mipmap 关掉否则远距离会出现严重闪烁。8.5 多套砖面变体与大面积地面一张花砖贴图铺 100 平米重复感几乎不可避免。更接近真实铺贴效果的做法是制作 2 到 4 套花砖变体通过顶点色或第二套 UV 混合。在 Substance Designer 里可以用 Tile Random 类节点生成不同纹理变体在引擎中则用 Material Function 或 Decal 做局部变化。不过这里要提醒不要一开始就追求 4 套变体。先把一套砖的平铺和材质质感做扎实再拆分变体否则变量太多会很难排查。8.6 命名规范与版本管理材质贴图文件建议统一使用T_项目缩写_砖型_贴图类型_分辨率 T_Hotel_FlowerTile_BaseColor_4K T_Hotel_FlowerTile_Normal_4K T_Hotel_FlowerTile_Roughness_4K并建议在 Substance Designer 源文件里保留参数版本导出时写一个文本说明文件记录分辨率、砖缝像素、导出日期、修改内容。这样团队协作时不会出现“你导出的 4K 和我导出的 2K 颜色不一致”的问题。8.7 性能与内存控制花砖虽然只是一块地面如果在大型开放场景里大量使用内存压力仍然明显。建议按照离相机距离做 LOD近处使用 4K 贴图远处使用 1K 或 512 的替换材质或者直接用引擎的 Streaming Mipmap 功能。法线贴图在远处可以降级为黑图或直接关闭因为远处根本看不到立体细节还容易造成闪烁。8.8 安全上限与生产确认如果你是在已有项目里替换地砖材质建议先在隔离场景中验证确认贴图导入设置、坐标轴方向、光照环境都正确后再进入主线。不要直接在正式场景里修改材质参数避免保存后无法回退。材质制作文件建议纳入版本管理Substance Designer 文件可以用 .sbs 源文件提交导出贴图则用流水线统一命名避免多人同时覆盖同一套导出文件。9. 总结与后续学习方向花色地砖材质制作本质上是一个“图案单元设计 PBR 贴图链路 引擎配置验证”的综合任务。它并不需要你用多么复杂的节点更关键的是建立一套能反复验证的工作流先用低成本的脚本验证平铺再进入 Substance 或 Painter 细化导出后第一时间在真实引擎环境中检查远近距离效果。如果你现在正准备做自己的地砖材质建议从最简单的 2x2 网格图案开始把 Python 平铺脚本跑通然后把 BaseColor、Normal、Roughness、AO 四张贴图接进引擎最后再加砖缝磨损和变体。不要一上来就做复杂花砖容易陷入颜色和花纹细节反而忽略材质物理属性是否匹配。继续深入的方向可以包括Substance Designer 里的程序化图案生成与参数化配色、UE5 的材质函数与顶点着色器混合、POM 视差在砖缝上的应用以及用 Houdini 做大规模地面纹理分布。如果未来有机会我会再写一篇花砖图案的生成式设计方法用脚本和节点同时控制图案规律与随机性。这篇文章已经覆盖了从概念到实践的完整链路建议收藏备用。做材质没有捷径但找对拆解思路能省掉大量重复返工的时间。