Commit Graph
3 Commits
Author SHA1 Message Date
rui40000andClaude Opus 4.6 adb1de6329 feat: Unmult 节点新增 AI 主体保护(可选 subject_mask 输入)
接入 FeyNobg/Lucida/BiRefNet 等抠图节点输出的 mask,
执行 max(unmult_α, subject_mask) 合并,
防止主体中与背景色相近的区域被误判为透明。
不连接时行为不变,向后兼容。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-08-18 12:00:04 +08:00
rui40000andClaude Opus 4.8 ea632a54d1 style: Unmult 的黑点/白点改为中文滑块,与 LayerStyle 观感一致
两项参数加 "display": "slider",界面从带箭头的数字框变成滑块;
参数名直接用中文「黑点」「白点」,这样不依赖 i18n 语言包,
任何语言环境下都显示中文(LayerStyle 显示中文是靠它自带的翻译文件)。

中文名无法作为函数形参,故 unmult() 改用 **kwargs 接收,
同时兼容旧的 alpha_low / alpha_high,早先保存的工作流不会失配。

验证:display=slider 生效、tooltip 保留、取值范围与步进不变;
黑点 0.2 使全透明占比 0.031→0.219,白点 0.7 使全不透明占比
0.016→0.312,参数确实起作用;旧英文名调用照常工作。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-17 14:42:12 +08:00
rui40000andClaude Opus 4.8 bc433bc24a docs: 核实 Unmult 节点并补充 README(含实测适用边界)
节点为纯数学去底(等效 AE Unmult):纯色底合成图满足
C = aF + (1-a)B,背景色已知即可反解出前景色与 alpha,
无需模型推理,且能真实保留半透明层次。

核实结果:
- 已正确注册进 __init__.py(无外部依赖,裸 import 与仓库惯例一致)
- 4 个参数均带中文 tooltip,符合本仓库的统一规则
- 分类 Rui-Node/抠图 与其余抠图节点一致,支持批量

验证(构造已知合成图反推真值):
- 发光素材在黑底/白底/绿幕下,alpha 与前景色平均误差均为 0.0000,
  数学上是精确解
- 黑白点参数、批量输入、RGBA/MASK 双输出均正常

同时测出一条必须写进文档的适用边界:
黑底 unmult 本质是拿亮度当不透明度,这对发光物成立、对实体不成立。
同一实体素材(alpha 真值恒为 1)实测——
  黑底:亮部 0.900,暗部仅 0.080(黑头发/深色衣服/鞋会被扣穿)
  绿幕:亮部 0.900,暗部 0.940,正常
故黑底的角色素材仍应走 Lucida / FeyNobg 等语义抠图,
unmult 留给光效、火焰、粒子与绿幕素材。README 补了四个抠图节点的选型表。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-17 14:10:04 +08:00