UV 展开
UV 阶段我将纹素密度控制在每单位约 12 像素,最终纹理集划分如下:
车身(4K)
保险杠 / 金属橡胶件 / 车顶(4K)
玻璃 / 车灯(2K)
轮胎 / 轮圈(2K)
我直接使用 Maya 自带 UV 工具。基本就是是:先对整体做简单平面投影,切割接缝、投影、展开。我为 X/Y/Z 轴平面投影设置了快捷键,节省大量时间。同时尽量拉直 UV,节省空间。小技巧:选中中间循环边,使用 Modify > Straighten Shell。摆UV,我主要用 Layout UVs 自动摆放,设置纹理尺寸,调整摆放精度、迭代次数、UV间距,反复检查纹素密度直到满意。必要时手动微调,但我一般不调。车身 UV 部分是对称的(如两侧面板、车门),我会将UV移出一个象限,避免烘焙时重叠影响效果。因为使用了多张UV,我用插件自动重命名物体的纹理集,避免合并模型时纹理集名称不一致产生多余集合;插件还可按名称统一选中纹理集,防止误操作。
材质贴图
UV 完成后,修改最终材质球命名,确保在 Substance 3D 与UE中保持一致。不同部件需要移开,方便我在Substance 3D Painter烘焙,这里我设置关键帧方便将不同部件组合还是分散。从 Maya 导出时,我使用游戏导出器(File > Game Exporter),选择导出所选物体、分文件导出,并勾选移至原点。为提高效率,我创建快速选择,保存所有待导出模型与组,确保坐标轴位置正确。只需点击保存的选集即可导出,Maya 会自动将物体移至原点并按正确名称输出到指定目录。悬浮的模型后续会使用贴花材质:比如后视镜上投射螺丝孔。前格栅材质使用简单的 128×128 连续性法线与透明材质。贴花等法线图我使用 Substance 3D Designer。即便不做程序化材质,我也经常用 Designer 合成不同方式制作的纹理(bake、Painter、Photoshop),它能自动更新输入并导出到指定路径,非常适合流程的工作。这次我需要用它制作法线与透明贴图。法线图的最终节点图非常简洁:几个高模烘焙位图输入、大灯纹路程序化图、连续性贴图、车身文字细节、车头标致 LOGO。每个组件都有变换节点,用于移动排布最终法线图。
车身材质绘制
主体纹理使用 Substance 3D Painter 制作。基础材质、破损、锈迹、灰尘的逻辑在各纹理集基本一致,这里重点讲车身。
基础层先设置基础色与粗糙度变化。我添加填充层,让车身上部基础色饱和度降低,符合自然的效果。粗糙度变化则使用 MatFinish Rough 滤镜,配合多种磨损遮罩。这些粗糙度层会通过锚点工具关联破损与锈迹。


破损细节我在基础层前新建文件夹,放置不同高度信息的填充层。文件夹顶部新建填充层,关闭所有通道,高度通道改为直通混合模式,这样该层就包含文件夹内所有高度信息。添加锚点后,便可在项目任意位置引用整组破损。部分破损用基础笔刷手动绘制并模糊;部分使用各向异性与模糊过滤的噪波纹理,再使用遮罩保留需要的部分。




锈迹效果逻辑与破损类似。我创建一组高度填充层,绘制锈迹区域遮罩(命名锈迹,混合模式设为禁用,用作锚点)。该组锚点被另一组(锈迹高度)引用,用于制作漆面剥落与锈泡效果。这样我只需在锈迹堆栈组内绘制,高度信息会传递到锈迹高度组,实现从无锈、锈泡到完全露底的过渡。

底部我还制作了高度孔洞层,通过色阶引用锈迹的特定数值,形成漆面与锈迹的分界(分界遮罩锚点后续多次使用,但该层本身禁用)。锈泡效果遮罩基于细胞噪波,并用分界遮罩相减(只影响周围漆面)。剥落效果是分界遮罩模糊后自减,形成衰减。锈色层使用锈迹高度组锚点,通过磨损贴图与渐变滤镜控制色彩变化,并用高通滤镜实现锈与漆的过渡。
文章转载自
Thepoly