本代码工具功能完善开发历时1天,使用的大模型有:Claude sonnet4.6,DeepSeek 4,Gemini3 flash,
从单图到多通道图功能扩展仅仅花了2分钟!
把颜色指定给brush的前景和背景颜色,基本原理代码:
python
def _apply_to_brush(context, color, is_background):
ts = context.tool_settings
if ts is None:
return
ip = ts.image_paint
brush = ip.brush if ip else None
rgb3 = (float(color[0]), float(color[1]), float(color[2]))
if brush:
if is_background:
brush.secondary_color = rgb3
else:
brush.color = rgb3
unified = getattr(ip, 'unified_paint_settings', None) if ip else None
if unified is not None and getattr(unified, 'use_unified_color', False):
if is_background:
unified.secondary_color = rgb3
else:
unified.color = rgb3
if event.type == 'LEFTMOUSE' and event.value == 'PRESS':
c = self._preview_color
if c:
_apply_to_brush(context, c, self._is_bg)
slot = "第二色" if self._is_bg else "第一色"
self.report({'INFO'},
f"已拾取{slot} R={c[0]:.3f} G={c[1]:.3f} B={c[2]:.3f}")
else:
self.report({'WARNING'}, "未命中任何模型")
self._cleanup(context)
return {'FINISHED'}
blender最好的固有色吸色工具!

这里附上简单版的屏幕拾色器,前提调节是把视图颜色改为仅固有色显示
用法:按alt 拾色,松开alt取消,左键确认。
这种有个缺陷,吸取的是对的,画出来却是不对的,

造成这种差异的是视图显示diffuse color的色偏

那么就有了专业版拾色器->我的固有色拾色器!这个原理是读取贴图的颜色,而不是屏幕的颜色!画也是画在贴图同位置,那么颜色就只有一样了。

这简直是画布去脏的一把好手!有需要的请找作者,毕竟原创不容易,代码不轻易漏出。
嗯!有个想法,扩展下功能,不能仅仅限于采样固有色,法线图最好也能修改!嗯还有粗糙度!金属度!透明贴图!我太贪婪了!先问下claudeAI,毕竟免费,不问白不问。


挖槽!工具进化好快!claude帮我秒出了多通道的!
现在不止可以修diffuse固有色层,下图所示的各种层都能修!法线层,粗糙度,金属度层,发光层,alpha层,你只要在材质球里连了maps都能吸色!修改!

使用方式
Ctrl+右键或Alt+右键进入拾色模式- 滚轮上/下 切换通道,光标旁实时更新通道名 + 色块颜色
- 找到目标通道后左键确认写入笔刷
- 通道选择跨调用保持(不会每次都重置回 Base Color,方便连续采样同一通道)
Overlay 显示
- 色块上方:当前通道名 + 前景/背景色槽位
- 色块右侧:R / G / B 数值
- 色块下方 :所有通道列表,当前通道用
▶高亮标出
灰度通道处理
Roughness / Metallic / Alpha / Specular 等单通道图像,自动取 RGB 均值展开为灰色写入笔刷(避免只读 R 通道造成偏差)
> : 不行!我要画图了,同样的功能及原理,接下来谁帮忙处理下克隆工具呢?^_^!