Patina 纹理节点:ComfyUI 中平铺 PBR 材质与贴图
借助 Patina 节点,将照片或提示词转换为 ComfyUI 中无缝平铺的 PBR 材质,并生成 basecolor、法线、粗糙度、金属度和高度贴图。
Patina 纹理节点:ComfyUI 中平铺 PBR 材质与贴图
借助 Patina 节点,将照片或提示词转换为 ComfyUI 中无缝平铺的 PBR 材质,并生成 basecolor、法线、粗糙度、金属度和高度贴图。
Patina 生成 3D 资产所需的表面数据。一次运行即可返回基础纹理,以及 PBR 材质所需的 basecolor、法线、粗糙度、金属度和高度贴图;整套贴图来自同一个 Latent,因此各张贴图逐像素对齐,无需单独烘焙。
在 ComfyUI 中,该提供商通过三个合作节点运行。Patina Material 可根据文本提示词、照片,或照片加遮罩来构建材质。Patina Material Extract 从已包含目标表面的照片中提取可平铺材质。Patina PBR Material Maps 将单张图像转换为整套贴图,不重新生成任何内容。
这三个都是云端 API 节点。它们需要一个带有积分的 Comfy 账户,不下载任何模型文件,并按运行次数计费。节点上的价格徽章会显示当前价格,每开启一张贴图都会增加费用。
[!TIP] 使用 API 节点需要保证你已经正常登录,并在受许可的网络环境下使用,请参考API 节点总览部分文档来了解使用 API 节点的具体使用要求。
[!TIP] > [tab] 本地用户 > > 请确保你的 ComfyUI 已经更新。 > > ComfyUI 下载 > ComfyUI 更新教程 > > 本指南里的工作流可以在工作流模板中找到。如果找不到,可能是 ComfyUI 没有更新。 > > 如果加载工作流时有节点缺失,可能原因有: > > 1. 你用的不是最新版(每夜版)。 > 2. 启动时有些节点导入失败。 > [tab] 云端用户 > > * Cloud 会在 ComfyUI 稳定版本发布后更新。 > > 所以,如果你发现本文档中有任何核心节点缺失,可能是因为新核心节点尚未在最新稳定版中发布。请等待下一个稳定版发布。
可用工作流
材质提取:照片转平铺材质
将节点指向一张本身已包含材质的照片,提示词则说明要提取哪种表面以及保留什么结构。返回的纹理是无缝的,因此可以在大面积表面上重复而不会出现可见接缝。

[card] 在 Comfy Cloud 上运行 在 Comfy Cloud 中打开
[card] 下载工作流 下载 JSON,或在模板库中搜索“Patina: Material Extract”
输入素材
[card] patina\_chair\_webbing.png 加载到 LoadImage 节点中。一张本身已包含材质的照片
照片不必是平整的裁剪图:节点会重新合成布局,因此只要材质本身具有重复性,产品图也可以使用。strength(高级参数,模板中为 0.6)决定提取出的纹理可以在多大程度上偏离照片。
材质:文本转材质
描述表面即可得到一份完整材质,完全不需要源图像。提示词承载了全部结果,因此请描述图案和饰面,而不是它所属的物体。

[card] 在 Comfy Cloud 上运行 在 Comfy Cloud 中打开
[card] 下载工作流 下载 JSON,或在模板库中搜索“Patina: Text to Material”
结构化材质效果最好:木材、石材、金属、织物、灰泥和瓷砖。加上“flat even lighting, no perspective”可以让结果成为可平铺的材质,而不是被读作一张墙面照片。
材质:图像转材质
连接一张表面照片,Patina 会将其重绘为平铺材质,同时保留图像中的图案。strength 决定它偏离照片的程度:较低值保留原始纹理,较高值会重写更多内容。

[card] 在 Comfy Cloud 上运行 在 Comfy Cloud 中打开
[card] 下载工作流 下载 JSON,或在模板库中搜索“Patina: Image to Material”
输入素材
[card] patina\_brick\_wall.jpg 加载到 LoadImage 节点中。一张具有规则结构的表面照片
可选的 mask 输入将重绘限制在某个区域:白色表示重新生成,黑色表示保留。只有遮罩而没有图像会引发错误。
PBR 贴图:图像转贴图集
从一张本身就是材质的图像中推导出各个贴图。这里不会重新生成任何内容:贴图精确描述图片中包含的内容,因此源图中的接缝、透视和光照都会保留在结果中。

[card] 在 Comfy Cloud 上运行 在 Comfy Cloud 中打开
[card] 下载工作流 下载 JSON,或在模板库中搜索“Patina: PBR Maps”
输入素材
[card] patina\_pbr\_webbing\_basecolor.png 加载到 LoadImage 节点中。一张平整、光照均匀的表面图,或一张现有的 basecolor 贴图
此节点不会进行平铺。当你已经有无缝 basecolor 并想要其余贴图集时使用它;当结果需要重复时,请使用 Material 或 Material Extract。最多可接受 2048 px 的输入;更大的图像会被缩小,除非关闭 auto_downscale。
节点控件
| 控件 | 取值 | 适用节点 | 作用 |
|---|---|---|---|
prompt | 文本 | Material、Material Extract | 为表面或材质命名。在 Extract 中,指定要从照片中提取哪一部分。PBR Maps 没有提示词输入 |
| 贴图开关 | basecolor、normal、roughness、metalness、height | 全部三个节点 | 返回哪些贴图。节点默认开启 basecolor 与 normal,其余三项关闭;四个模板都会把五项全部开启。每个启用的贴图都会增加运行价格 |
image_size | 1:1 (1024x1024)、1:1 (512x512)、4:3 (1024x768)、3:4 (768x1024)、16:9 (1024x576)、9:16 (576x1024)、custom | Material、Material Extract | 输出尺寸。custom 接受 512 至 2048 之间的宽度和高度,步长为 16 |
upscale_factor | 0、2、4 | Material、Material Extract | 贴图的无缝放大。基础纹理不会被放大,4 可在 2K 运行下获得 8K 贴图输出 |
strength | 0.01 至 1.0,默认 0.6 | Material、Material Extract | 结果可以偏离来源照片的程度。在文本生成材质时忽略 |
tiling_mode | both、horizontal、vertical | Material、Material Extract | 平铺方向 |
num_inference_steps | 1 至 8,默认 8 | Material、Material Extract | 去噪步数。超过 8 没有任何收益 |
tile_size | 32 至 256,默认 128 | Material、Material Extract | Latent 空间中的分块大小:64 约为 512 px,128 约为 1024 px |
tile_stride | 16 至 128,默认 64 | Material、Material Extract | Latent 空间中的分块步长 |
prompt_expansion | 默认关闭 | Material、Material Extract | 由 LLM 重写提示词。除非提示词内容过于单薄,否则请保持关闭,因为扩写会把提示词重新表述为一张照片,容易冲淡 metalness 贴图 |
seed | 整数 | 全部三个节点 | 保持同一 seed 可复现同一结果,改动 seed 则得到不同的变化 |
auto_downscale | 默认开启 | PBR Maps | 将最长边超过 2048 px 的输入缩放回 2048 px。将其关闭后,超大图像会返回错误 |
输出遵循固定的插槽顺序。Material 和 Material Extract 返回 texture、basecolor、normal、roughness、metalness、height 和 expanded_prompt。PBR Maps 返回这五个贴图,但不包含单独的基础纹理。关闭的贴图仍会在对应插槽输出一张 1×1 的黑色占位图。
提示
- 说出表面,而不是场景。 在一张椅子的照片上,“chair webbing fabric”会提取出编织带,并忽略画面中的框架、地板和桨。
- 当图案发生漂移时,添加结构。 在 Extract 上,像“keep the weave and the strap edges”这样的子句可以阻止图案在不同运行之间发生漂移。
- 选择能在几百像素内重复的材质。 编织带、砖块、铺路石、木板和灰泥的平铺效果很好。岩石峭壁、航拍地形或单个物体返回的是无法平铺的重绘结果。
- 在运行之前关闭贴图。 对于游戏或产品材质,三张贴图通常就足够了,而价格取决于贴图的数量。请断开或绕过该贴图对应的 SaveImage 节点,否则占位图会被当作贴图保存下来。
- 将 Extract 串联到 PBR Maps,从一张照片获得完整套件。 Extract 生成 basecolor 平铺贴图,然后 PBR Maps 从它派生剩余贴图。
- 生成贴图,然后检查金属上的金属度。 提示词扩展通常是金属表面返回平坦结果的原因。
开始使用
- 将 ComfyUI 更新到最新版本
- 转到模板库,搜索
Patina - 选择与你的输入匹配的工作流:Extract 用于表面照片,Text to Material 用于仅使用提示词,Image to Material 用于需要重绘的照片,PBR Maps 用于现有基础色
- 关闭不需要的贴图,然后运行工作流