ComfyUI 魔法书 Logo
🏠 首页
👥 加群
🔥 报错不求人
😎 大帅比
登录 →
ComfyUI 魔法书 Logo
🏠 首页 👥 加群 🔥 报错不求人 😎 大帅比
登录
  1. 首页
  2. 🧩 插件工坊 (Plugin Workshop)
  3. ComfyUI WFC插件超详细教程 从入门到精通一键搞定

ComfyUI WFC插件超详细教程 从入门到精通一键搞定

0
  • 🧩 插件工坊 (Plugin Workshop)
  • 发布于 2025-07-03
  • 4 次阅读
编程界的小学生
编程界的小学生

ComfyUI WFC Like 插件完全保姆级教程

1. 插件简介

ComfyUI WFC Like 是一个基于波函数塌陷算法(Wave Function Collapse)的图像生成插件。插件地址:https://github.com/bmad4ever/comfyui_wfc_like

这个插件就像是一个"智能拼图机器人",它能学习你给它的图片里的瓷砖拼接规律,然后按照这些规律生成新的、更大的图片。就好比你给机器人看了一些房子的墙面瓷砖,它就能学会如何铺设更大面积的墙面,保证每块瓷砖都和相邻的瓷砖搭配得很好。

能带来什么效果?

  • 把小的瓷砖样本图片扩展成大的完整图片
  • 生成具有相同风格和规律的新图案
  • 制作游戏地图、纹理贴图等
  • 实现图片的智能补全和扩展

2. 如何安装

方法一:使用 ComfyUI Manager(推荐)

  1. 在 ComfyUI 界面点击"Manager"按钮
  2. 点击"Install Custom Nodes"
  3. 搜索"wfc_like"
  4. 找到"comfyui_wfc_like"点击安装
  5. 重启 ComfyUI

方法二:手动安装

  1. 打开 ComfyUI 的安装目录
  2. 进入 custom_nodes 文件夹
  3. 下载插件文件到这个文件夹
  4. 安装依赖包(需要 py_search)
  5. 重启 ComfyUI

3. 节点详细解析

3.1 Sample (WFC) 节点 - 样本学习机

这个节点就像一个"图案分析师",它会仔细观察你给它的图片,学习里面每个小瓷砖的排列规律,然后把这些规律记录下来供后面的节点使用。

参数详解:

参数名 (UI显示)参数名 (代码里)参数值建议值通俗解释 (能干嘛的)专业解释怎么用/举个例子
img_batchimg_batch图像输入必填就像给机器人看的"教学图片",告诉它什么样的瓷砖组合是对的输入的图像批次,用于提取瓷砖类型和约束关系连接一张包含重复瓷砖图案的图片
tile_widthtile_width数字根据实际瓷砖宽度告诉机器人每个小瓷砖有多宽(像素)单个瓷砖的像素宽度如果瓷砖是16像素宽,就填16
tile_heighttile_height数字根据实际瓷砖高度告诉机器人每个小瓷砖有多高(像素)单个瓷砖的像素高度如果瓷砖是16像素高,就填16
output_tilesoutput_tiles布尔值True开关按钮,决定是否要输出找到的所有不同瓷砖类型是否通过unique_tiles输出端输出所有唯一瓷砖设为True能看到机器人找到了哪些不同的瓷砖

输出接口:

输出名用途通俗解释
sample传给生成节点的"规律数据包"包含了瓷砖类型和排列规律的信息
unique_tiles所有不同瓷砖的集合就像一个"瓷砖图鉴",显示找到的所有不同瓷砖

3.2 Generate (WFC) 节点 - 智能生成机

这个节点就像一个"拼图大师",它根据样本节点学到的规律,在空白画布上智能地放置瓷砖,生成新的图案。

参数详解:

参数名 (UI显示)参数名 (代码里)参数值建议值通俗解释 (能干嘛的)专业解释怎么用/举个例子
samplesample数据输入必填从样本节点传来的"规律数据包"包含瓷砖约束和频率信息的样本数据连接Sample节点的sample输出
starting_statestarting_state状态输入必填告诉机器人从哪个"半成品"开始拼图初始状态,可以是空白或部分完成的状态通常连接EmptyState节点创建空白画布
seedseed数字任意整数就像"随机数种子",同样的数字会产生同样的结果控制随机性的种子值,保证结果可重现用123、456等固定数字保证每次结果一样
max_freq_adjustmax_freq_adjust0-1之间0.5控制要不要严格按照原图的瓷砖出现频率来生成频率调整的最大权重,0表示忽略频率,1表示严格按频率0.5在速度和准确性之间平衡
use_8_cardinalsuse_8_cardinals布尔值True开关按钮,决定是否要考虑对角线相邻的瓷砖是否使用8个方向的邻接约束(包括对角线)True考虑所有方向,False只考虑上下左右
relax_validationrelax_validation布尔值False开关按钮,决定是否要放松检查规则(可能更快但不太准确)是否放松验证,允许一些无效的瓷砖组合False保证质量,True提高速度
plateau_check_intervalplateau_check_interval数字-1控制"放弃"检查的间隔,避免机器人卡太久检查生成停滞的间隔,-1为自动设置-1让机器人自己决定何时停止尝试

可选输入:

参数名 (UI显示)参数名 (代码里)参数值建议值通俗解释 (能干嘛的)专业解释怎么用/举个例子
custom_temperature_configcustom_temperature_config配置输入可选高级设置,控制机器人在遇到困难时的"决策温度"温度配置,影响随机性和频率调整权重不填使用默认设置即可
custom_node_value_configcustom_node_value_config配置输入可选高级设置,控制机器人如何给不同选择打分节点值配置,影响搜索优先级不填使用默认设置即可

输出接口:

输出名用途通俗解释
state生成的状态结果包含瓷砖位置信息的"拼图结果",需要用Decode节点转换成图片

3.3 Decode (WFC) 节点 - 图像转换器

这个节点就像一个"照相机",它把生成节点产生的抽象"拼图结果"转换成我们能看到的图片。

参数详解:

参数名 (UI显示)参数名 (代码里)参数值建议值通俗解释 (能干嘛的)专业解释怎么用/举个例子
statestate状态输入必填从生成节点传来的"拼图结果"数据包含瓷砖位置信息的状态矩阵连接Generate节点的state输出
samplesample数据输入必填告诉转换器每个编号对应什么瓷砖图案包含瓷砖图像数据的样本,用于将数字ID转换为实际图像连接Sample节点的sample输出

输出接口:

输出名用途通俗解释
IMAGE最终生成的图片可以直接看到的完整图片
MASK遮罩图像黑白图,显示哪些地方有瓷砖,哪些地方是空白

3.4 Encode (WFC) 节点 - 图像编码器

这个节点就像一个"逆向工程师",它能把图片重新分解成瓷砖编号,方便进一步处理。

参数详解:

参数名 (UI显示)参数名 (代码里)参数值建议值通俗解释 (能干嘛的)专业解释怎么用/举个例子
imageimage图像输入必填要重新分解的图片需要编码为状态的图像连接任何图片输入
samplesample数据输入必填告诉编码器如何识别不同的瓷砖包含瓷砖类型信息的样本数据连接Sample节点的sample输出

输出接口:

输出名用途通俗解释
state编码后的状态图片被重新分解成的瓷砖位置信息

3.5 EmptyState (WFC) 节点 - 空白画布生成器

这个节点就像一个"画布准备工",它创建指定大小的空白画布,为生成节点提供起始状态。

参数详解:

参数名 (UI显示)参数名 (代码里)参数值建议值通俗解释 (能干嘛的)专业解释怎么用/举个例子
widthwidth数字根据需要告诉机器人画布要有多少个瓷砖宽状态矩阵的宽度(以瓷砖为单位)想要32个瓷砖宽就填32
heightheight数字根据需要告诉机器人画布要有多少个瓷砖高状态矩阵的高度(以瓷砖为单位)想要24个瓷砖高就填24

输出接口:

输出名用途通俗解释
state空白状态全空的画布状态,等待被填充

3.6 SetTiles (WFC) 节点 - 瓷砖设置器

这个节点就像一个"橡皮擦"或"画笔",它能在现有的状态上擦除特定类型的瓷砖,或者把特定瓷砖变成空白。

参数详解:

参数名 (UI显示)参数名 (代码里)参数值建议值通俗解释 (能干嘛的)专业解释怎么用/举个例子
statestate状态输入必填要修改的"拼图状态"需要处理的状态矩阵连接任何状态输出
tiles_batchtiles_batch图像输入必填要处理的瓷砖类型(图片形式)包含要设置为空的瓷砖类型的图像批次连接包含特定瓷砖的图像
reversereverse布尔值False开关按钮,决定是"擦除指定瓷砖"还是"只保留指定瓷砖"是否反转操作:False擦除指定瓷砖,True保留指定瓷砖False会把指定瓷砖变空白,True会把其他瓷砖变空白

输出接口:

输出名用途通俗解释
state修改后的状态经过擦除或保留操作后的新状态

3.7 GenerateParallel (WFC) 节点 - 并行生成器

这个节点就像一个"多线程工厂",它可以同时运行多个生成任务,提高工作效率。

参数详解:

参数名 (UI显示)参数名 (代码里)参数值建议值通俗解释 (能干嘛的)专业解释怎么用/举个例子
samplesample数据输入必填从样本节点传来的"规律数据包"包含瓷砖约束和频率信息的样本数据连接Sample节点的sample输出
starting_statestarting_state状态输入必填告诉机器人从哪个"半成品"开始拼图初始状态,可以是空白或部分完成的状态通常连接EmptyState节点创建空白画布
seedseed数字任意整数就像"随机数种子",同样的数字会产生同样的结果控制随机性的种子值,保证结果可重现用123、456等固定数字保证每次结果一样
max_freq_adjustmax_freq_adjust0-1之间0.5控制要不要严格按照原图的瓷砖出现频率来生成频率调整的最大权重,0表示忽略频率,1表示严格按频率0.5在速度和准确性之间平衡
use_8_cardinalsuse_8_cardinals布尔值True开关按钮,决定是否要考虑对角线相邻的瓷砖是否使用8个方向的邻接约束(包括对角线)True考虑所有方向,False只考虑上下左右
relax_validationrelax_validation布尔值False开关按钮,决定是否要放松检查规则(可能更快但不太准确)是否放松验证,允许一些无效的瓷砖组合False保证质量,True提高速度
plateau_check_intervalplateau_check_interval数字-1控制"放弃"检查的间隔,避免机器人卡太久检查生成停滞的间隔,-1为自动设置-1让机器人自己决定何时停止尝试
max_parallel_tasksmax_parallel_tasks数字4控制同时运行多少个生成任务最大并行任务数量根据电脑性能调整,4-8个比较合适

可选输入:

参数名 (UI显示)参数名 (代码里)参数值建议值通俗解释 (能干嘛的)专业解释怎么用/举个例子
custom_temperature_configcustom_temperature_config配置输入可选高级设置,控制机器人在遇到困难时的"决策温度"温度配置,影响随机性和频率调整权重不填使用默认设置即可
custom_node_value_configcustom_node_value_config配置输入可选高级设置,控制机器人如何给不同选择打分节点值配置,影响搜索优先级不填使用默认设置即可

输出接口:

输出名用途通俗解释
state生成的状态结果包含瓷砖位置信息的"拼图结果",需要用Decode节点转换成图片

3.8 Custom Temperature 节点 - 温度配置器

这个节点就像一个"情绪调节器",它控制生成过程中机器人的"耐心程度",当遇到困难时是否要更加随机地尝试。

参数详解:

参数名 (UI显示)参数名 (代码里)参数值建议值通俗解释 (能干嘛的)专业解释怎么用/举个例子
initial_temperatureinitial_temperature数字0.5机器人开始时的"冷静程度"初始温度值,影响随机性权重0.5比较平衡,越大越随机
min_temperaturemin_temperature数字0.1机器人最冷静的时候(最理性)最低温度限制0.1保证始终有一点随机性
max_temperaturemax_temperature数字1.0机器人最"冲动"的时候(最随机)最高温度限制1.0允许完全随机选择

输出接口:

输出名用途通俗解释
config温度配置传给Generate节点的温度设置

3.9 Custom Node Value 节点 - 评分配置器

这个节点就像一个"评分标准设定器",它决定机器人在选择瓷砖时如何给不同选项打分。

参数详解:

参数名 (UI显示)参数名 (代码里)参数值建议值通俗解释 (能干嘛的)专业解释怎么用/举个例子
entropy_weightentropy_weight数字1.0控制"信息量"在打分中的重要性熵权重,影响选择的确定性1.0是标准值,越大越倾向于选择确定性高的位置
frequency_weightfrequency_weight数字1.0控制"频率匹配"在打分中的重要性频率权重,影响对原始频率的遵循程度1.0是标准值,越大越严格按照原图频率
temperature_weighttemperature_weight数字0.0控制"温度随机性"在打分中的重要性温度权重,影响随机性的作用程度0.0表示不考虑温度影响

输出接口:

输出名用途通俗解释
config评分配置传给Generate节点的评分设置

4. 使用技巧和建议

基础使用流程

  1. 准备素材:找一张包含重复瓷砖图案的图片
  2. 设置Sample节点:设置正确的瓷砖尺寸(tile_width和tile_height)
  3. 创建画布:用EmptyState节点创建空白画布
  4. 开始生成:连接Generate节点进行生成
  5. 转换图片:用Decode节点将结果转换成图片

优化技巧

  • 瓷砖尺寸要准确:错误的瓷砖尺寸会导致学习到错误的规律
  • 种子值固定:用固定的seed值可以获得可重现的结果
  • 合理设置频率调整:max_freq_adjust设为0.5通常效果最好
  • 根据需要调整验证:简单图案可以开启relax_validation提高速度
  • 并行生成节约时间:需要多个结果时使用GenerateParallel节点

常见应用场景

  • 游戏地图生成:用地形瓷砖生成无限大的游戏地图
  • 纹理扩展:将小的纹理样本扩展成大的纹理
  • 图案补全:修复破损的图案或填充缺失部分
  • 艺术创作:基于现有图案创作新的艺术作品

5. 常见问题解答

Q:为什么生成的图片看起来乱七八糟?
A:可能是瓷砖尺寸设置错误。检查tile_width和tile_height是否与实际瓷砖尺寸匹配。

Q:生成速度很慢怎么办?
A:可以尝试开启relax_validation,或者降低max_freq_adjust的值。

Q:生成的图片有黑色区域?
A:黑色区域表示未能生成的部分,可能是约束条件太严格。尝试调整参数或使用不同的种子值。

Q:如何控制生成结果的多样性?
A:使用不同的seed值获得不同结果,或者调整Custom Temperature节点的参数。

Q:可以处理彩色图片吗?
A:可以,插件支持任何颜色的图片,只要瓷砖尺寸设置正确。

Q:如何处理不规则的瓷砖?
A:插件主要适用于规则的矩形瓷砖,不规则形状可能需要预处理。

6. 高级应用

分层生成

可以先用一个样本生成大致结构,然后用SetTiles节点清空部分区域,再用另一个样本进行细节填充。

遮罩控制

结合Decode节点输出的mask,可以实现精确的区域控制和后处理。

批量处理

使用GenerateParallel节点可以同时生成多个不同的结果,提高工作效率。

与其他插件结合

可以将WFC生成的结果作为其他AI绘画插件的输入,实现更复杂的创作流程。

这个插件为ComfyUI带来了强大的程序化生成能力,特别适合需要保持一致性和规律性的图像生成任务。通过合理的参数调整和节点组合,可以创造出令人惊艳的生成效果。

标签: #插件 2338
相关文章

ComfyUI错误修复插件详解:轻松解决常见问题 2025-07-10 18:25

ComfyUI-CustomMenu插件使用教程:高效自定义工作流指南 2025-07-10 17:50

ComfyUI图像合并插件comfyui-merge使用教程 2025-07-03 22:44

ComfyUI 图像合并插件教程 (comfyui-merge) 1. 插件简介 这是一个专门用来合并图片的 ComfyUI 插件,就像用 PS 把多张图片叠在一起那样。它的特别之处在于你精确控制每张图片的混合方式。 GitHub 地址:https://github.com/LingSss9/com

ComfyUI WAN 2.2视频插件教程:万相AI提示词全攻略 2025-07-31 11:47

ComfyUI WAN 2.2视频插件教程:万相AI提示词实战指南 2025-07-29 20:10

ComfyUI HeyGem数字人插件教程:零基础快速精通指南 2025-07-22 14:10

目录

从节点基础到高阶工作流,我们为你绘制最清晰的 ComfyUI 学习路径。告别困惑,让每一次连接都充满创造的魔力,轻松驾驭 AI 艺术的无限可能。

  • 微信
  • B站
  • GitHub
Copyright © 2025 AIX All Rights Reserved. Powered by AIX.
隐私政策
津ICP备2024019312号