Materials 是 proyecto26/blender-ai-plugin 中的材质技能,面向 Blender 5.2+,通过官方 Blender MCP 测试,用于以可复用、可验证的方式完成生产级材质与着色。其核心思路是“母版材质 → 实例变体 → 对象分配 → 顶点色/遮罩 → 验证 → 导出准备”,强调材质复用与按资产控制材质数量,而非为每个对象创建独立材质。
适用时机包括:UV 完成后的外观开发、程序化材质创建、母版材质库搭建、从共享母版派生材质变体、以及面向引擎导出的材质准备。
母版材质库以 MAT_ 前缀命名,提供可复用基础,例如金属、塑料、织物、玻璃、自发光与有机材质。实例变体通过复制母版并仅调整参数生成。资料给出常见 PBR 值范围:抛光金属 Metallic 1.0、Roughness 0.1–0.3;拉丝金属可带各向异性;涂漆金属 Metallic 0、Roughness 0.3–0.5;塑料 0/0.3–0.6;橡胶 0/0.7–0.9;混凝土 0/0.8–0.95;原木 0/0.5–0.7;玻璃 Transmission 1;皮肤带次表面 0.1–0.3;织物带 Sheen,Roughness 0.7–0.9。
程序化模式包括:用噪声与 ColorRamp 做磨损遮罩并在干净与磨损间 Lerp;用 Bevel 节点结合 Pointiness 或 AO 做边缘磨损;用反相 AO 乘脏污颜色做积尘;在金属上用噪声遮罩叠加橙褐色做锈蚀。顶点色可用于变化遮罩:RGB 分别承载磨损、苔藓、颜色变化,或在通道注释中说明 R 磨损、G 脏污、B 湿度。
材质数量预算:主角道具 3–5,标准道具 1–2,模块化件 1(图集),角色 3–8(身体、布料、眼睛、头发),环境模块 1–2。风格化材质参考 stylized-style 技能,差异包括压平粗糙度范围、手绘基础色优先、Fresnel 混合轮廓光、按需使用 NPR 卡通着色。
MCP 集成可创建材质槽、分配材质、设置 Principled BSDF 参数、查询场景材质数量并校验命名规范。脚本 scripts/pbr_material.py 可创建或更新 Principled BSDF PBR 材质并分配给对象,使用 Blender 4+/5.x 插槽名,可选纹理路径按正确色彩空间连接(Base Color 为 sRGB,数据贴图为 Non-Color)。运行方式为通过 execute_blender_code 或 runpy 调用已安装脚本并传入 ARGS;用户自行粘贴时给短 runpy 调用和绝对路径,不应内联或改写脚本。
约束方面:必须复用母版并做实例变体,按 MAT_[Surface]_[Descriptor] 命名,PBR 值匹配风格方向,遵守资产材质预算,在目标灯光下测试材质;不得为 Blender 5.2 之前版本编写代码或添加版本回退,不得为每个对象创建独立材质(主角道具除外),写实风格下不得使用物理上不可信的 PBR 值,不得跳过顶点色遮罩变化,不得保留默认材质名,不得在 UV 完成前定稿材质。