在Blender的材质工作流里,遮罩几乎是绕不开的东西。做旧、脏迹、边缘磨损、雪堆积,这些效果都依赖一张能区分区域的黑白图。传统做法要么手动在模型上刷顶点色,要么用程序化节点按曲率、按AO来算,前者费时间,后者灵活性差。最近两年随着AI绘图工具的普及,一种新玩法出现了:让AI根据文字描述生成遮罩图,再烘焙到模型顶点上,形成可以随时调用的顶点色遮罩。这篇文章就把这套流程完整讲一遍。

顶点色到底是什么,为什么适合做遮罩
很多新手会把顶点色和贴图弄混。简单说,贴图是把颜色信息存在一张图片上,靠UV坐标采样;而顶点色是直接把颜色数据存在每一个顶点上,可以理解为挂在网格数据上的一个颜色属性。在Blender中打开属性面板的Object Data页签,找到Color Attributes就能看到模型自带或新建的顶点色层。它的优势很直接:不需要UV展开,不需要管理贴图文件,数据跟着模型走,拷贝模型就等于拷贝了遮罩。
在材质里使用顶点色也很简单,新建一个Attribute节点,填入顶点色层的名字,把Color输出接到后续节点即可。做遮罩时通常只取其中一个通道,比如把红色通道接到Mix节点的Factor上,黑的部分显示材质A,白的部分显示材质B。因为顶点色的精度取决于网格密度,低模上的顶点色遮罩会呈现块状过渡,这一点在做硬表面时反而是优点,能带来干净利落的分界线。
还有一个常被忽略的用途:顶点色可以导出给游戏引擎。不少管线会把顶点色当作轻量遮罩带进Unity或Unreal,省掉一张贴图的显存和采样开销。所以学会用AI批量生成顶点色遮罩,不只是省事,还能优化整个项目的资源结构。
用AI生成遮罩图并烘焙到顶点的完整流程
整体思路分三步:先用AI生成一张符合需求的黑白遮罩图,再把这张图作为参考贴到模型上,最后用Blender的属性烘焙功能把贴图颜色写入顶点色层。第一步推荐用支持ControlNet的AI绘图工具,输入提示词时尽量描述空间分布而不是具体纹理,比如"black and white mask, top areas white, bottom areas black, soft gradient",这样生成的图更适合做遮罩。
第二步回到Blender,给模型做一个简单展开或使用Box Projection临时贴图。新建一个材质,把AI生成的图接到Emission上,让模型表面呈现遮罩内容。第三步是关键:进入Edit Mode全选顶点,在Mesh菜单下找到Paint分支,不过更稳妥的做法是使用烘焙。先在Object Data里新建一个Color Attributes层,然后选中模型,把贴图物体设为Active,用Cycles的烘焙功能选择烘焙到顶点色。
# 如果需要批处理多个模型,也可以走bpy脚本路线
import bpy
# 新建顶点色层
mesh = bpy.context.object.data
if "AI_Mask" not in mesh.color_attributes:
layer = mesh.color_attributes.new("AI_Mask", 'FLOAT_COLOR', 'POINT')
# 遍历每个面,按面中心位置采样贴图颜色写入顶点
# 这里示意核心逻辑,实际需结合bpy_extras的image采样API
for poly in mesh.polygons:
for loop_idx in poly.loop_indices:
vert_idx = mesh.loops[loop_idx].vertex_index
# 采样逻辑省略,可借助loop的UV坐标读取贴图像素
pass
烘焙完成后记得把材质里的Attribute节点名字改成刚才新建的层名,才能正确读到数据。如果发现遮罩方向不对,比如本该在顶部的高光区域跑到了侧面,多半是贴图阶段UV朝向的问题,旋转贴图节点或者重新投影一次就能解决。另外注意烘焙前把Color Space设置为Non-Color,否则线性数据会被当作sRGB处理,黑白对比会被压扁。
三种遮罩方案的对比与选择建议
手动绘制顶点色最直观,笔刷控制精确,适合处理AI难以描述的局部细节,比如特定的划痕走向。缺点是效率低,一个复杂角色可能要刷好几个小时,而且修改成本高。程序化节点方案依托Geometry Nodes和着色器里的Pointiness、AO节点,优点是全参数化,改一个数值就能重新分布,缺点是逻辑受限,很难表达"角落里有蜘蛛网但避开金属表面"这种复合条件。
AI生成方案的优势在语义理解。你只需要说"底部有泥土溅起,边缘有磨损,接缝处发黑",它就能给出一张大致符合描述的遮罩,再烘焙到顶点上做二次手修。实践中的推荐做法是混合使用:AI负责打底,生成整体的脏迹分布;程序化节点负责精确的曲率磨损;手动笔刷只处理画龙点睛的部分。这样每一层都发挥各自长处,整体效率比纯手动高出数倍。
还要提醒一个常见坑:AI生成的图分辨率不必追求太高,1024左右足够,因为顶点色最终精度受网格细分限制,一张4K遮罩烘焙到低模上完全是浪费。反过来,如果目标模型是高密度雕刻网格,那么适当提高生成分辨率、并在烘焙前对模型做一次Remesh让顶点分布均匀,效果会明显更好。
掌握这套流程之后,可以进一步扩展到批量资产管线:写一个脚本扫描文件夹里的AI生成图,自动逐个烘焙到对应模型的顶点色层,配合Blender的Headless模式跑后台任务,一套道具的遮罩工作几分钟就能收尾。对于经常处理大量模型的项目来说,这才是AI辅助工作流真正的价值所在。
Blender顶点色AI生成遮罩顶点色烘焙修改时间:2026-09-15 18:02:37