> ## Documentation Index
> Fetch the complete documentation index at: https://docs.comfy.org/llms.txt
> Use this file to discover all available pages before exploring further.

# 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 节点总览](https://docs.comfy.org/zh/tutorials/partner-nodes/overview.md)部分文档来了解使用 API 节点的具体使用要求。

> [!TIP]
>
> > [tab] 本地用户
> >
> > 请确保你的 ComfyUI 已经更新。
> >
> > * [ComfyUI 下载](https://www.comfy.org/download)
> > * [ComfyUI 更新教程](https://docs.comfy.org/zh/installation/update_comfyui.md)
> >
> > 本指南里的工作流可以在[工作流模板](https://docs.comfy.org/zh/interface/features/template.md)中找到。如果找不到，可能是 ComfyUI 没有更新。
> >
> > 如果加载工作流时有节点缺失，可能原因有：
> >
> > 1. 你用的不是最新版（每夜版）。
> > 2. 启动时有些节点导入失败。
>
> > [tab] 云端用户
> >
> > * [Cloud](https://cloud.comfy.org) 会在 ComfyUI 稳定版本发布后更新。
> >
> > 所以，如果你发现本文档中有任何核心节点缺失，可能是因为新核心节点尚未在最新稳定版中发布。请等待下一个稳定版发布。

## 可用工作流

### 材质提取：照片转平铺材质

将节点指向一张本身已包含材质的照片，提示词则说明要提取哪种表面以及保留什么结构。返回的纹理是无缝的，因此可以在大面积表面上重复而不会出现可见接缝。

![Patina 材质提取工作流预览](https://raw.githubusercontent.com/Comfy-Org/workflow_templates/main/templates/api_patina_material_extract-1.webp)

> [card] [在 Comfy Cloud 上运行](https://cloud.comfy.org/?template=api_patina_material_extract\&utm_source=docs\&utm_medium=referral\&utm_campaign=patina)
>
> 在 Comfy Cloud 中打开

> [card] [下载工作流](https://github.com/Comfy-Org/workflow_templates/blob/main/templates/api_patina_material_extract.json)
>
> 下载 JSON，或在模板库中搜索“Patina: Material Extract”

**输入素材**

> [card] [patina\_chair\_webbing.png](https://raw.githubusercontent.com/Comfy-Org/workflow_templates/main/input/patina_chair_webbing.png)
>
> 加载到 `LoadImage` 节点中。一张本身已包含材质的照片

照片不必是平整的裁剪图：节点会重新合成布局，因此只要材质本身具有重复性，产品图也可以使用。`strength`（高级参数，模板中为 0.6）决定提取出的纹理可以在多大程度上偏离照片。

### 材质：文本转材质

描述表面即可得到一份完整材质，完全不需要源图像。提示词承载了全部结果，因此请描述图案和饰面，而不是它所属的物体。

![Patina 文本转材质工作流预览](https://raw.githubusercontent.com/Comfy-Org/workflow_templates/main/templates/api_patina_material_t2m-1.webp)

> [card] [在 Comfy Cloud 上运行](https://cloud.comfy.org/?template=api_patina_material_t2m\&utm_source=docs\&utm_medium=referral\&utm_campaign=patina)
>
> 在 Comfy Cloud 中打开

> [card] [下载工作流](https://github.com/Comfy-Org/workflow_templates/blob/main/templates/api_patina_material_t2m.json)
>
> 下载 JSON，或在模板库中搜索“Patina: Text to Material”

结构化材质效果最好：木材、石材、金属、织物、灰泥和瓷砖。加上“flat even lighting, no perspective”可以让结果成为可平铺的材质，而不是被读作一张墙面照片。

### 材质：图像转材质

连接一张表面照片，Patina 会将其重绘为平铺材质，同时保留图像中的图案。`strength` 决定它偏离照片的程度：较低值保留原始纹理，较高值会重写更多内容。

![Patina 图像转材质工作流预览](https://raw.githubusercontent.com/Comfy-Org/workflow_templates/main/templates/api_patina_material_i2m-1.webp)

> [card] [在 Comfy Cloud 上运行](https://cloud.comfy.org/?template=api_patina_material_i2m\&utm_source=docs\&utm_medium=referral\&utm_campaign=patina)
>
> 在 Comfy Cloud 中打开

> [card] [下载工作流](https://github.com/Comfy-Org/workflow_templates/blob/main/templates/api_patina_material_i2m.json)
>
> 下载 JSON，或在模板库中搜索“Patina: Image to Material”

**输入素材**

> [card] [patina\_brick\_wall.jpg](https://raw.githubusercontent.com/Comfy-Org/workflow_templates/main/input/patina_brick_wall.jpg)
>
> 加载到 `LoadImage` 节点中。一张具有规则结构的表面照片

可选的 `mask` 输入将重绘限制在某个区域：白色表示重新生成，黑色表示保留。只有遮罩而没有图像会引发错误。

### PBR 贴图：图像转贴图集

从一张本身就是材质的图像中推导出各个贴图。这里不会重新生成任何内容：贴图精确描述图片中包含的内容，因此源图中的接缝、透视和光照都会保留在结果中。

![Patina PBR 材质贴图工作流预览](https://raw.githubusercontent.com/Comfy-Org/workflow_templates/main/templates/api_patina_pbr_maps-1.webp)

> [card] [在 Comfy Cloud 上运行](https://cloud.comfy.org/?template=api_patina_pbr_maps\&utm_source=docs\&utm_medium=referral\&utm_campaign=patina)
>
> 在 Comfy Cloud 中打开

> [card] [下载工作流](https://github.com/Comfy-Org/workflow_templates/blob/main/templates/api_patina_pbr_maps.json)
>
> 下载 JSON，或在模板库中搜索“Patina: PBR Maps”

**输入素材**

> [card] [patina\_pbr\_webbing\_basecolor.png](https://raw.githubusercontent.com/Comfy-Org/workflow_templates/main/input/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 从它派生剩余贴图。
* **生成贴图，然后检查金属上的金属度。** 提示词扩展通常是金属表面返回平坦结果的原因。

## 开始使用

1. 将 ComfyUI 更新到最新版本
2. 转到模板库，搜索 `Patina`
3. 选择与你的输入匹配的工作流：Extract 用于表面照片，Text to Material 用于仅使用提示词，Image to Material 用于需要重绘的照片，PBR Maps 用于现有基础色
4. 关闭不需要的贴图，然后运行工作流


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.