关于 Coating Lab
Coating Lab 是面向游戏武器美术的 MCP 服务,可将有来源依据的材质涂层和磨损烘焙到 Blender 模型中。它支持涂层变体、校验、渲染及引擎材质参数,并统一使用磨损公式。
主要功能
- 01带来源的物理材质涂层库
- 02按材质槽设置涂层变体和磨损等级
- 03在 Blender 中烘焙基于证据的磨损遮罩
- 04校验涂层和规格
- 05渲染变体并导出引擎参数
适用场景
- 01为武器模型的材质槽应用不同涂层
- 02将磨损图案烘焙到顶点颜色
- 03按磨损规则检查涂层变体
MCP 相关
向 MCP 客户端提供涂层查询、规格校验、磨损烘焙、渲染和引擎参数工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
mcp.json · 通用配置
启动命令
uvx coatinglab-mcp需要配置的环境变量
COATINGLAB_OUTThe only folder Coating Lab writes to; defaults to ~/.coatinglabCOATINGLAB_BLENDERBlender's executable, if it is not on the PATH or in the usual install folderCOATINGLAB_LIBRARYA finishes JSON of your own, merged over the built-in libraryCOATINGLAB_WAIT_FORProcess names that hold the machine (e.g. UnrealEditor.exe); a bake refuses to start while one runs本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
13收录的工具列表 · 更新于 2 周前
此工具无需参数。
详细介绍
Coating Lab
为游戏枪械模型打造真实的表面涂层,并按照枪械实际使用时的磨损方式呈现磨损。
一个 MCP 服务,可为游戏枪械模型赋予真实的表面涂层,并按照枪械实际使用时的磨损方式呈现磨损。
- 有来源可查的涂层库。 阳极氧化铝、锰磷化和锌磷化、发蓝钢和氮化钢、陶瓷涂层(FDE、OD green、tungsten、graphite、coyote)、不锈钢、聚合物、橡胶、黄铜、铜、铅、胡桃木。每种涂层都有基于物理的数值(线性颜色、金属度、粗糙度),并说明磨穿后露出的材质以及数值来源。根据描述推算的数值会标记为估算值。
- 涂层变体。 一个规格可将涂层应用到模型的每个材质槽,并创建任意数量的变体(制式步枪、双色 FDE 构型、严重磨损的枪械等),每个变体都可设置磨损等级:全新、制式使用、磨损或严重磨损。
- 根据依据烘焙磨损,只需一次。 在 Blender 中将磨损烘焙到模型的顶点颜色中:暴露的边缘、手部操作枪械的位置(握把、辅助手、控制部件)、部件滑动的位置(弹匣在弹匣井中、枪托在枪托管上),以及表面被遮挡处、枪口和抛壳口周围的污垢。所有变体读取同一组蒙版,因此创建新变体无需额外成本。
- 检查。 检查每种涂层是否符合基于物理的渲染所依据的规则;检查每个变体的磨损比例是否符合其等级,并确保内角没有磨损。
- 全程使用同一公式。 检查、外观开发渲染和引擎材质计算磨损的方式一致(
coat.py),因此通过检查的效果就是玩家看到的效果。

Model Lab (modellab-mcp) 构建会提供各自的材质槽(上机匣、下机匣、枪管等)、标记和部件:spec_for_modellab 可通过一次调用,根据构建生成涂层规格。
安装
需要 Python 3.10 或更高版本,以及 Blender 4.2 或更高版本。
pip install coatinglab-mcp
{"mcpServers": {"coatinglab": {"command": "coatinglab-mcp"}}}
| 设置项 | 含义 |
|---|---|
COATINGLAB_OUT | Coating Lab 唯一写入的文件夹。默认为 ~/.coatinglab。 |
COATINGLAB_BLENDER | 当 Blender 不在 PATH 或常见安装目录中时,用于指定 Blender。 |
COATINGLAB_LIBRARY | 自定义的涂层 JSON 文件,与内置库合并。 |
COATINGLAB_WAIT_FOR | 会占用机器的进程名称。烘焙会等待这些进程全部退出后才开始。 |
工具
| 工具 | 功能 |
|---|---|
list_finishes、read_finish | 涂层库,以及某种涂层的说明和来源。 |
check_library、check_finish | 检查涂层库或你自己的涂层是否符合物理规则。 |
list_wear_levels、list_templates | 磨损等级和现成的变体集。 |
spec_for_modellab | 用于 Model Lab 构建的涂层规格。 |
validate_spec | 规格中的问题:槽位未指定涂层、涂层用于错误的材质。 |
bake | 将磨损遮罩烘焙到模型副本中。 |
check_coating | 检查每个变体的磨损是否符合其等级,以及是否避免磨损进入角落。 |
render_variants | 外观开发渲染图和图集。 |
engine_params | 引擎材质中某个变体按槽位划分的数值。 |
遮罩和公式
烘焙会写入顶点颜色 Col:
| 通道 | 含义 |
|---|---|
| R | 边缘:平坦表面为 1,暴露的锐利边缘为 0 |
| G | 握持:手部操作枪械的位置为 1 |
| B | 摩擦:部件相互滑动的路径上为 1 |
| A | 污垢:表面遮蔽处,以及枪口和端口周围为 1 |
引擎材质遵循 src/coatinglab/coat.py 中的公式。磨损等级是一个阈值:等级越高,原本会产生磨损的遮罩越弱。污垢纹理会打散磨损,但不会产生磨损。
估算内容
- 所有粗糙度值。没有来源会将涂层表面映射为渲染粗糙度。
- 阳极氧化、磷化、发蓝、氮化和大多数陶瓷涂层的颜色。标准规定的是工艺,而非颜色。OD 绿和郊狼棕采用 FED-STD-595 色号。
- 磨损量。来源说明枪械哪些部位会磨损,但没有说明磨损速度。每个等级的设定都使 Model Lab 的 M4A1 落在其范围中间。
- 手部区域以球体表示:在圆形护木上,支撑手造成的磨损会延伸到顶部和底部。
许可证
MIT
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。