ComfyUI_TJ_NormalLighting 插件保姆级教程
1. 插件简介
插件地址: https://github.com/TJ16th/comfyUI_TJ_NormalLighting
这个插件就像是给你的图片装了一个虚拟的摄影棚灯光系统!它能让你的平面图片看起来有立体感和光影效果,就像真的有灯光照射在上面一样。
主要功能:
- 给图片添加虚拟光照效果,让平面图片看起来有立体感
- 可以调节光源的方向,就像移动摄影棚里的灯光一样
- 支持高光反射效果,让图片看起来更有质感
- 可以模拟不同材质的光泽效果(比如塑料、金属等)
能带来什么效果:
- 让你的AI生成图片从平面变成有立体光影的效果
- 可以制作动态光照动画,让光源围绕物体转动
- 增强图片的真实感和质感
- 让普通图片看起来像专业渲染的3D效果
工作原理简单说明:
这个插件需要三张图片配合使用:
- 普通彩色图片(就像你平时看到的照片)
- 法线贴图(一张特殊的图片,记录了表面的凹凸信息,看起来是蓝紫色的)
- 高光贴图(控制哪些地方会反光,哪些地方不反光)
2. 如何安装
方法一:通过ComfyUI管理器安装(推荐)
- 打开ComfyUI
- 点击"Manager"按钮
- 搜索"TJ_NormalLighting"
- 点击安装
方法二:手动安装
- 打开你的ComfyUI安装文件夹
- 进入
custom_nodes文件夹 - 在这里打开命令行窗口
- 输入命令:
git clone https://github.com/TJ16th/comfyUI_TJ_NormalLighting.git
安装后重启
安装完成后,重启ComfyUI就可以使用了。
3. 节点详细解析
3.1 NormalLighting 节点 - 虚拟光照处理器
这个节点就像一个虚拟的摄影棚,你可以在里面放置光源,调节光照角度和强度,让你的图片产生真实的光影效果。它就像是把平面的贴纸变成立体的雕塑一样神奇。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| diffuse_map | diffuse_map | IMAGE类型 | 必填 | 这是你的普通彩色图片,就像照片一样 | 漫反射贴图,提供基础颜色信息 | 连接你要加光照的彩色图片 |
| normal_map | normal_map | IMAGE类型 | 必填 | 法线贴图,记录表面凹凸信息的特殊图片,通常是蓝紫色 | 法线贴图,存储表面法向量信息 | 连接对应的法线贴图,可以用AI生成 |
| specular_map | specular_map | IMAGE类型 | 必填 | 高光贴图,控制哪里会反光,就像给物体涂反光漆 | 镜面反射贴图,控制高光分布 | 连接高光贴图,白色区域会反光 |
| light_yaw | light_yaw | -180到180的数字 | 45 | 光源左右转动角度,就像转动台灯的方向 | 光源方位角,控制光源水平方向 | 0是正前方,90是右侧,-90是左侧 |
| light_pitch | light_pitch | -90到90的数字 | 30 | 光源上下角度,就像调节台灯的高低 | 光源俯仰角,控制光源垂直方向 | 0是水平,90是正上方,-90是正下方 |
| specular_power | specular_power | 1到200的数字 | 32 | 高光锐利程度,数字越大高光越尖锐像金属,越小越柔和像塑料 | 镜面反射指数,控制高光集中度 | 10像塑料,100像金属,200像镜子 |
| ambient_light | ambient_light | 0到1的小数 | 0.50 | 环境光亮度,就像房间里的基础照明 | 环境光强度,提供基础亮度 | 0是全黑,1是完全亮,0.5是半亮 |
| NormalDiffuseStrength | NormalDiffuseStrength | 0到5的小数 | 1.00 | 光照效果强度,控制立体感的明显程度 | 漫反射光照强度系数 | 1是正常,2是加强立体感,0是没有立体感 |
| SpecularHighlightsStrength | SpecularHighlightsStrength | 0到5的小数 | 1.00 | 高光反射强度,控制反光效果的明显程度 | 镜面高光强度系数 | 1是正常反光,2是强烈反光,0是不反光 |
| TotalGain | TotalGain | 0到2的小数 | 1.00 | 整体亮度调节,就像调节显示器亮度 | 总体增益系数,控制输出亮度 | 1是原始亮度,1.5是增亮50%,0.5是减暗50% |
4. 使用技巧和建议
4.1 基础使用流程
-
准备三张图片:
- 彩色图片(你要加光照的图)
- 法线贴图(可以用AI生成,比如ControlNet)
- 高光贴图(通常是黑白图,白色部分会反光)
-
连接节点:
- 把三张图片分别连接到对应的输入端口
- 调节光照参数
-
调节效果:
- 先调light_yaw和light_pitch确定光源位置
- 再调其他参数微调效果
4.2 不同效果的参数建议
柔和光照效果(适合人像):
- light_yaw: 30-60
- light_pitch: 20-40
- specular_power: 10-30
- ambient_light: 0.6-0.8
- NormalDiffuseStrength: 0.8-1.2
强烈光照效果(适合产品展示):
- light_yaw: 45-90
- light_pitch: 30-60
- specular_power: 50-100
- ambient_light: 0.2-0.4
- NormalDiffuseStrength: 1.5-2.5
金属质感效果:
- specular_power: 100-200
- SpecularHighlightsStrength: 1.5-3.0
- ambient_light: 0.3-0.5
塑料质感效果:
- specular_power: 10-50
- SpecularHighlightsStrength: 0.8-1.5
- ambient_light: 0.5-0.7
4.3 制作动画技巧
- 使用多个NormalLighting节点,设置不同的light_yaw值
- 配合其他动画节点可以制作光源旋转动画
- 建议light_yaw每帧变化5-10度,这样动画会比较流畅
4.4 图片准备建议
- 法线贴图生成:可以使用ControlNet的Normal模式从普通图片生成
- 高光贴图制作:可以用图片编辑软件制作,或者直接用灰度图
- 尺寸统一:三张图片必须是相同尺寸,否则会出错
5. 常见问题解答
Q1:为什么我的图片没有光照效果?
A: 可能的原因:
- 法线贴图不正确(应该是蓝紫色的特殊图片)
- NormalDiffuseStrength设置为0了
- ambient_light设置为1了(这样就只显示原图)
Q2:高光效果太强烈怎么办?
A: 调节这些参数:
- 降低SpecularHighlightsStrength(比如从1.0改为0.5)
- 降低specular_power(让高光更柔和)
- 检查高光贴图是否太亮
Q3:光照效果太暗怎么办?
A: 可以这样调节:
- 增加ambient_light(提高基础亮度)
- 增加TotalGain(整体提亮)
- 增加NormalDiffuseStrength(增强光照效果)
Q4:如何制作不同材质的效果?
A: 主要调节specular_power:
- 塑料:10-30
- 陶瓷:30-60
- 金属:60-150
- 镜面:150-200
Q5:三张图片尺寸不一样会怎样?
A: 会报错无法处理。必须确保三张图片的尺寸完全相同。
Q6:可以用在什么类型的图片上?
A:
- 人物肖像(需要对应的法线贴图)
- 产品展示图
- 建筑物图片
- 任何有立体感的物体图片
6. 高级使用技巧
6.1 多光源效果
虽然单个节点只能模拟一个光源,但你可以:
- 使用多个NormalLighting节点
- 每个节点设置不同的光源角度
- 最后把结果混合起来
6.2 动态光照动画
图片输入 → NormalLighting(light_yaw=0) → 输出帧1
图片输入 → NormalLighting(light_yaw=10) → 输出帧2
图片输入 → NormalLighting(light_yaw=20) → 输出帧3
...以此类推制作360度旋转光照动画
6.3 与其他节点配合
- 配合ControlNet:用ControlNet生成法线贴图
- 配合图片混合节点:制作复杂的光照效果
- 配合动画节点:制作光照动画
6.4 参数调节顺序建议
- 先设置光源位置(light_yaw, light_pitch)
- 再调节基础亮度(ambient_light)
- 然后调节光照强度(NormalDiffuseStrength)
- 最后调节高光效果(specular_power, SpecularHighlightsStrength)
- 整体微调(TotalGain)
7. 故障排除
7.1 常见错误及解决方案
错误:图片尺寸不匹配
- 原因:三张输入图片尺寸不同
- 解决:使用图片缩放节点统一尺寸
错误:没有光照效果
- 原因:法线贴图不正确或参数设置问题
- 解决:检查法线贴图是否是蓝紫色,检查参数设置
错误:效果太暗或太亮
- 原因:参数设置不合适
- 解决:调节ambient_light和TotalGain
7.2 性能优化建议
- 处理大图片时会比较慢,建议先用小图测试参数
- 制作动画时建议降低图片分辨率
- 不需要高光效果时可以把SpecularHighlightsStrength设为0
8. 实际应用案例
8.1 人物肖像光照
适合给AI生成的人物图片添加专业的摄影光照效果。
8.2 产品展示
给产品图片添加展示光照,让产品看起来更有质感。
8.3 建筑渲染
给建筑图片添加阳光照射效果,增强真实感。
8.4 艺术创作
制作特殊的光影艺术效果,比如戏剧性的光照。
9. 总结
ComfyUI_TJ_NormalLighting插件是一个功能强大的虚拟光照工具,它能让你的平面图片获得立体的光影效果。虽然需要准备三张不同的图片(彩色图、法线贴图、高光贴图),但效果非常出色。
核心要点:
- 理解三种贴图的作用和获取方法
- 掌握光源角度的调节技巧
- 学会根据不同材质调节参数
- 善用环境光和总增益平衡效果
适用场景:
- 人物肖像光照增强
- 产品展示图优化
- 艺术创作和特效制作
- 动态光照动画制作
这个插件让普通用户也能制作出专业级的光照效果,是ComfyUI生态中非常实用的工具之一。