ComfyUI-GeekyRemB 插件完整使用教程
1. 插件简介
原地址: https://github.com/GeekyGhost/ComfyUI-GeekyRemB
ComfyUI-GeekyRemB 是一个专门为 ComfyUI 设计的超级强大的图像处理插件。说简单点,这就像是一个专业的抠图师傅加上动画师加上灯光师,全部打包在一起!
这个插件能给你带来什么神奇效果?
- 智能抠图:就像有个PS高手帮你一键抠图,把人物或物体从背景中完美分离出来
- 动态效果:让你的图片会动起来,比如人物可以跳跃、旋转、闪烁等等
- 专业光影:给图片添加逼真的光照和阴影效果,让平面图片看起来立体生动
- 精确控制:可以像制作动画片一样,精确控制每一帧的位置和效果
简单来说,用了这个插件,你就能把静态图片变成专业级的动态作品!
2. 如何安装
通用安装方法
-
确保你已经安装了 ComfyUI
- 如果还没安装,先去官网按照指引安装ComfyUI
-
下载插件到正确位置
- 找到你的ComfyUI安装文件夹
- 进入
ComfyUI/custom_nodes文件夹 - 在这里打开命令行工具,输入:
git clone https://github.com/GeekyGhost/ComfyUI-GeekyRemB.git -
安装必要的依赖
- 进入刚下载的插件文件夹:
cd ComfyUI-GeekyRemB pip install -r requirements.txt -
重启ComfyUI
- 完全关闭ComfyUI后重新启动,插件就会自动加载
3. 节点详细解析
3.1 Geeky RemB 节点(主控制台)
这是整个插件的核心,就像是一个万能的图像处理工作台。它能帮你抠图、合成、调整位置等等。
3.2 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 输出格式 | output_format | RGBA/RGB | RGBA | 决定输出的图片是否带透明背景 | 控制输出图像的颜色通道格式 | 如果想要透明背景选RGBA,不需要透明选RGB |
| 前景图像 | foreground | 图像输入 | - | 这是你想要处理的主要图片 | 待处理的源图像输入 | 把你的人物照片或物体图片连接到这里 |
| 开启背景移除 | enable_background_removal | true/false | true | 是否要把背景抠掉 | 控制背景分离功能的开关 | 想抠图时设为true,不抠图时设为false |
| 移除方法 | removal_method | rembg/chroma_key | rembg | 选择抠图的方式 | 背景移除算法选择 | rembg适合一般图片,chroma_key适合绿幕蓝幕 |
| 智能模型 | model | u2net/isnet-anime等 | u2net | 选择不同的智能抠图模型 | AI背景移除模型选择 | 人物照片用u2net,动漫图用isnet-anime |
| 色键颜色 | chroma_key_color | green/blue/red | green | 绿幕蓝幕抠图时选择要去除的颜色 | 色键抠图的目标颜色 | 绿幕背景选green,蓝幕背景选blue |
| 色键容差 | chroma_key_tolerance | 0.0-1.0 | 0.1 | 色键抠图的精确度调节 | 色键抠图的颜色容忍度 | 值越大抠得越宽泛,值越小抠得越精确 |
| 溢色减少 | spill_reduction | 0.0-1.0 | 0.1 | 去除绿幕蓝幕在物体边缘的颜色污染 | 减少色键抠图产生的边缘颜色溢出 | 抠图后物体边缘有绿色时可以调高这个值 |
| 遮罩扩展 | mask_expansion | -100到100 | 0 | 让抠图的范围变大或变小 | 遮罩膨胀或收缩的像素数量 | 正数让抠图范围变大,负数让抠图范围变小 |
| 边缘检测 | edge_detection | true/false | false | 是否要让抠图边缘更清晰 | 启用边缘检测算法 | 想要更清晰的轮廓时开启 |
| 边缘厚度 | edge_thickness | 1-10 | 3 | 边缘检测的线条粗细 | 边缘检测的线条宽度 | 需要更粗的边缘线时调高数值 |
| 遮罩模糊 | mask_blur | 0-100 | 2 | 让抠图边缘变得柔和 | 遮罩边缘的模糊程度 | 边缘太硬时调高数值让过渡更自然 |
| 阈值 | threshold | 0.0-1.0 | 0.5 | 调节抠图的敏感度 | 遮罩生成的二值化阈值 | 调高让抠图更保守,调低让抠图更激进 |
| 反转生成遮罩 | invert_generated_mask | true/false | false | 把前景和背景互换 | 反转自动生成的遮罩 | 想要保留背景去掉前景时开启 |
| 移除小区域 | remove_small_regions | true/false | false | 清除抠图中的小碎片 | 移除遮罩中的小噪点区域 | 抠图有很多小点时开启清理 |
| 小区域大小 | small_region_size | 1-1000 | 100 | 定义多大的区域算作小碎片 | 小区域移除的大小阈值 | 数值越大,清理掉的碎片越多 |
| 宽高比 | aspect_ratio | 16:9/4:3/1:1等 | 16:9 | 设置输出图片的长宽比例 | 输出图像的宽高比例 | 做视频用16:9,做方形图用1:1 |
| 缩放比例 | scale | 0.1-5.0 | 1.0 | 调整前景图片的大小 | 前景图像的缩放倍数 | 1.0是原始大小,2.0是放大一倍,0.5是缩小一半 |
| 帧数 | frames | 1-1000 | 1 | 要生成多少张图片(动画用) | 输出动画的总帧数 | 做静态图用1,做动画可以设30-60 |
| X位置 | x_position | -2048到2048 | 0 | 前景图片的水平位置 | 前景图像的水平坐标 | 正数向右移动,负数向左移动 |
| Y位置 | y_position | -2048到2048 | 0 | 前景图片的垂直位置 | 前景图像的垂直坐标 | 正数向上移动,负数向下移动 |
| 透明度增强 | alpha_matting | true/false | false | 让抠图边缘更精细 | 启用高级边缘细化算法 | 处理头发、毛发等细节时开启 |
| 前景阈值 | alpha_matting_foreground_threshold | 0-255 | 270 | 透明度增强的前景识别精度 | Alpha抠图的前景检测阈值 | 调高让前景识别更严格 |
| 背景阈值 | alpha_matting_background_threshold | 0-255 | 10 | 透明度增强的背景识别精度 | Alpha抠图的背景检测阈值 | 调高让背景识别更严格 |
| 边缘精化 | edge_refinement | true/false | false | 进一步优化抠图边缘 | 启用额外的边缘细化处理 | 色键抠图效果不够好时开启 |
| 背景图像 | background | 图像输入 | - | 要合成的背景图片 | 背景合成的图像输入 | 把你想要的背景图片连接到这里 |
| 附加遮罩 | additional_mask | 遮罩输入 | - | 额外的遮罩用于复杂选择 | 用户自定义的辅助遮罩 | 需要更复杂的选择时连接手绘遮罩 |
| 反转附加遮罩 | invert_additional_mask | true/false | false | 把附加遮罩的选择区域反转 | 反转用户提供的辅助遮罩 | 遮罩选择区域相反时开启 |
| 动画器 | animator | 节点连接 | - | 连接动画控制节点 | 动画参数输入接口 | 想要动画效果时连接Animator节点 |
| 光影效果 | lightshadow | 节点连接 | - | 连接光影效果节点 | 光照阴影参数输入接口 | 想要光影效果时连接Light & Shadow节点 |
| 关键帧 | keyframe | 节点连接 | - | 连接关键帧控制节点 | 关键帧动画参数输入接口 | 需要精确动画控制时连接Keyframe节点 |
3.3 Geeky RemB Animator 节点(动画控制师)
这个节点就像是一个动画导演,专门负责让你的图片动起来。它能控制各种动画效果。
3.4 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 动画类型 | animation_type | none/bounce/travel_left等 | bounce | 选择动画的运动方式 | 动画运动模式选择 | bounce是上下跳跃,travel_left是向左移动 |
| 动画速度 | animation_speed | 0.1-10.0 | 1.0 | 动画播放的快慢 | 动画执行的速率倍数 | 1.0是正常速度,2.0是快一倍,0.5是慢一半 |
| 动画时长 | animation_duration | 0.1-10.0 | 2.0 | 一个完整动画循环的时间长度 | 单次动画循环的持续时间 | 2.0表示一个完整动作需要2秒 |
| 重复次数 | repeats | 1-10 | 1 | 动画要重复播放多少次 | 动画循环播放的次数 | 设为3就会连续播放3次相同动画 |
| 反向播放 | reverse | true/false | false | 是否在重复时倒着播放 | 重复播放时是否反向执行 | 开启后动画会来回摆动 |
| 帧率 | fps | 1-120 | 30 | 每秒显示多少张图片 | 动画播放的帧率 | 30表示每秒30张图,数值越高越流畅 |
| 延迟 | delay | 0.0-5.0 | 0.0 | 动画开始前的等待时间 | 动画开始前的延时 | 设为1.0会等待1秒后才开始动画 |
| 起始X位置 | x_position | -1000到1000 | 0 | 动画开始时的水平位置 | 动画起始的水平坐标 | 正数靠右,负数靠左 |
| 起始Y位置 | y_position | -1000到1000 | 0 | 动画开始时的垂直位置 | 动画起始的垂直坐标 | 正数靠上,负数靠下 |
| 起始缩放 | scale | 0.1-5.0 | 1.0 | 动画开始时的大小比例 | 动画起始的缩放倍数 | 1.0是原始大小,0.5是缩小一半 |
| 起始旋转 | rotation | -360.0到360.0 | 0.0 | 动画开始时的旋转角度 | 动画起始的旋转角度 | 45表示顺时针转45度,-45表示逆时针转45度 |
| 动画步骤 | steps | 1-10 | 5 | 把动画分成几个阶段 | 多步动画的阶段数量 | 5表示动画分为5个阶段进行 |
| 相位偏移 | phase_shift | 0.0-1.0 | 0.0 | 让动画错开开始时间 | 动画相位的偏移量 | 0.5表示动画从中间阶段开始 |
| 缓动函数 | easing_function | linear/ease_in_quad等 | ease_in_out_quad | 动画的加速减速效果 | 动画速度变化的数学函数 | linear是匀速,ease_in_out_quad是先慢后快再慢 |
| 使用关键帧 | use_keyframes | true/false | false | 是否使用精确的关键帧控制 | 启用关键帧驱动的动画模式 | 需要精确控制动画时开启 |
| 关键帧1-5 | keyframe1-5 | 节点连接 | - | 连接关键帧控制节点 | 关键帧动画节点的连接点 | 每个连接点对应一个关键帧时刻 |
3.5 Geeky RemB Light & Shadow 节点(灯光师)
这个节点就像是一个专业的灯光师,能给你的图片添加各种光照和阴影效果,让平面图片看起来立体生动。
3.6 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 开启光照 | enable_lighting | true/false | false | 是否要添加光照效果 | 启用光照渲染功能 | 想要立体光影效果时开启 |
| 光照强度 | light_intensity | 0.0-1.0 | 0.5 | 光照的亮度强弱 | 光照效果的强度系数 | 0.5是中等亮度,1.0是最亮 |
| 光照X方向 | light_direction_x | -200到200 | 0 | 光源的水平位置 | 光照的水平方向向量 | 正数表示光从右边照来,负数表示光从左边照来 |
| 光照Y方向 | light_direction_y | -200到200 | -100 | 光源的垂直位置 | 光照的垂直方向向量 | 正数表示光从上方照来,负数表示光从下方照来 |
| 光照半径 | light_radius | 10-500 | 100 | 光照影响的范围大小 | 光照效果的作用半径 | 数值越大,光照范围越广 |
| 光照衰减 | light_falloff | 0.1-3.0 | 1.0 | 光照随距离减弱的程度 | 光照强度的衰减系数 | 数值越大,光照衰减越快 |
| 背光效果 | light_from_behind | true/false | false | 是否从背后打光 | 启用背光照明效果 | 想要轮廓光效果时开启 |
| 使用色温 | use_kelvin_temperature | true/false | false | 是否用色温控制光色 | 使用开尔文色温控制光色 | 想要自然光色时开启 |
| 色温值 | kelvin_temperature | 2000-10000 | 5500 | 光照的色温(暖色冷色) | 光照的色温值 | 3000是暖黄光,6500是冷白光 |
| 光照红色 | light_color_r | 0-255 | 255 | 光照的红色成分 | 光照颜色的红色分量 | 255是最红,0是无红色 |
| 光照绿色 | light_color_g | 0-255 | 255 | 光照的绿色成分 | 光照颜色的绿色分量 | 255是最绿,0是无绿色 |
| 光照蓝色 | light_color_b | 0-255 | 255 | 光照的蓝色成分 | 光照颜色的蓝色分量 | 255是最蓝,0是无蓝色 |
| 开启法线贴图 | enable_normal_mapping | true/false | false | 是否启用3D立体光照 | 启用法线贴图光照计算 | 想要更真实的立体效果时开启 |
| 开启镜面反射 | enable_specular | true/false | false | 是否添加高光反射 | 启用镜面反射高光效果 | 想要物体表面有反光时开启 |
| 镜面强度 | specular_intensity | 0.0-1.0 | 0.5 | 高光反射的强度 | 镜面反射的强度系数 | 数值越大,反光越强 |
| 镜面光泽度 | specular_shininess | 1-128 | 32 | 高光反射的集中程度 | 镜面反射的光泽度参数 | 数值越大,高光越集中 |
| 环境光 | ambient_light | 0.0-1.0 | 0.1 | 整体环境的亮度 | 全局环境光照强度 | 调节整体画面的明暗度 |
| 光源高度 | light_source_height | 50-500 | 200 | 光源距离物体的高度 | 光源的垂直高度位置 | 影响阴影的长度和方向 |
| 开启阴影 | enable_shadow | true/false | false | 是否要添加阴影效果 | 启用阴影生成功能 | 想要立体阴影效果时开启 |
| 阴影透明度 | shadow_opacity | 0.0-1.0 | 0.5 | 阴影的深浅程度 | 阴影的不透明度 | 0.5是半透明,1.0是完全不透明 |
| 阴影模糊 | shadow_blur | 0-50 | 10 | 阴影边缘的柔和程度 | 阴影边缘的模糊半径 | 数值越大,阴影边缘越柔和 |
| 阴影X偏移 | shadow_direction_x | -50到50 | 10 | 阴影的水平偏移 | 阴影的水平偏移量 | 正数阴影向右,负数阴影向左 |
| 阴影Y偏移 | shadow_direction_y | -50到50 | 10 | 阴影的垂直偏移 | 阴影的垂直偏移量 | 正数阴影向上,负数阴影向下 |
| 阴影扩展 | shadow_expansion | -10到20 | 0 | 阴影的大小调整 | 阴影的膨胀收缩量 | 正数让阴影变大,负数让阴影变小 |
| 阴影红色 | shadow_color_r | 0-255 | 0 | 阴影的红色成分 | 阴影颜色的红色分量 | 通常保持较低值让阴影偏暗 |
| 阴影绿色 | shadow_color_g | 0-255 | 0 | 阴影的绿色成分 | 阴影颜色的绿色分量 | 通常保持较低值让阴影偏暗 |
| 阴影蓝色 | shadow_color_b | 0-255 | 0 | 阴影的蓝色成分 | 阴影颜色的蓝色分量 | 通常保持较低值让阴影偏暗 |
| 透视阴影 | perspective_shadow | true/false | false | 是否启用透视阴影效果 | 启用基于透视的阴影计算 | 想要更真实的远近阴影时开启 |
| 距离衰减 | distance_fade | true/false | false | 阴影是否随距离变淡 | 启用阴影的距离衰减效果 | 想要远处阴影变淡时开启 |
| 衰减距离 | fade_distance | 10-500 | 200 | 阴影开始变淡的距离 | 阴影衰减的起始距离 | 数值越小,阴影衰减越快 |
| 柔和边缘 | soft_edges | true/false | false | 是否让阴影边缘更柔和 | 启用阴影边缘柔化处理 | 想要更自然的阴影边缘时开启 |
3.7 Geeky RemB Keyframe Position 节点(关键帧控制器)
这个节点就像是动画制作中的关键帧工具,能让你精确控制动画中每个特定时刻的位置、大小、旋转等。
3.8 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 画布宽度 | width | 64-4096 | 1024 | 动画画布的宽度 | 动画输出的画布宽度 | 1920适合做高清视频,1024适合一般用途 |
| 画布高度 | height | 64-4096 | 1024 | 动画画布的高度 | 动画输出的画布高度 | 1080适合做高清视频,1024适合一般用途 |
| 帧编号 | frame_number | 0-1000 | 0 | 这个关键帧对应第几帧 | 关键帧的时间位置 | 0是第一帧,30是第31帧 |
| 关键帧X位置 | x_position | -2048到2048 | 0 | 在这一帧时的水平位置 | 该关键帧的水平坐标 | 正数向右,负数向左 |
| 关键帧Y位置 | y_position | -2048到2048 | 0 | 在这一帧时的垂直位置 | 该关键帧的垂直坐标 | 正数向上,负数向下 |
| 关键帧缩放 | scale | 0.1-5.0 | 1.0 | 在这一帧时的大小比例 | 该关键帧的缩放倍数 | 1.0是原始大小,2.0是放大一倍 |
| 关键帧旋转 | rotation | -360.0到360.0 | 0.0 | 在这一帧时的旋转角度 | 该关键帧的旋转角度 | 90表示顺时针转90度 |
| 关键帧透明度 | opacity | 0.0-1.0 | 1.0 | 在这一帧时的透明程度 | 该关键帧的不透明度 | 1.0是完全不透明,0.0是完全透明 |
| 缓动效果 | easing | linear/ease_in_quad等 | ease_in_out_quad | 从这个关键帧到下个关键帧的过渡效果 | 关键帧间的插值缓动函数 | linear是匀速过渡,ease_in_out_quad是先慢后快再慢 |
4. 使用技巧和建议
4.1 新手入门建议
- 从简单开始:先尝试基本的抠图功能,成功后再逐步添加动画和光影效果
- 参数调节:每次只调整一个参数,观察效果变化,这样更容易掌握每个参数的作用
- 保存预设:找到好的参数组合后,记录下来方便下次使用
4.2 抠图效果优化
- 选择合适的模型:普通照片用u2net,动漫图片用isnet-anime,肖像照片用silueta
- 处理边缘:如果边缘不够平滑,可以开启透明度增强(alpha_matting)
- 清理噪点:开启移除小区域功能,清理抠图中的小碎片