
做场景光照时,最出效果的往往是那些「不规则」的光:午后穿过百叶窗的光栅、树荫下斑驳的碎影、云层间漏下来的块面。这些在真实世界是自然发生的,在 3D 里得自己做。
常规做法有三条:一是找一张 gobo 贴图(黑白图案)挂到灯光上;二是用模型遮挡(做出百叶窗的几何体,让灯照过去);三是后期在合成里叠。
第一条的问题是「找不到符合构图的图案」——你想要一个特定的树影,素材库里没有。第二条的问题是成本高、改起来慢。第三条的问题是光影不参与场景光照,看起来像贴上去的。
Light Painter 给的是第四条路:直接在视口里用笔刷往灯光上画那张贴图。官方标语就一句:「Paint cinematic light with your mouse」——用你的鼠标画电影感的光。
这个方式的好处是它进入正常的光照管线:画出来的是一张真实的灯光贴图,参与渲染,会被物体遮挡,会随灯光位置变化。不是后期叠上去的假光。
二、它给的是一套画图工具,不是一支笔
从包内代码能看出这套工具比「一支笔刷」复杂得多。`light_painter.py` 有一万六千多行,里面能看到这些参数与工具:
笔刷本身:Brush Size(画笔大小)、Brush Hardness(边缘锐度)、Brush Flow(流量)、Brush Strength(强度)、Brush Color(颜色)、Brush Mode(模式)、Brush Clipping(裁剪到某个网格表面内)。这些和绘画软件的笔刷是同一套概念。
图层系统:Add New Layer、Active Layer、Duplicate(复制当前层)、Layer 的显示与选择、All Masks(全部遮罩)。也就是说一个灯光上有多层贴图,可以分别开关、分别画——这比只有一张贴图灵活太多。
渐变工具:Apply Gradient、Add Color Stop、Cancel Gradient、Circular gradient from center point(从中心发散的径向渐变)、Color space for gradient interpolation(插值色彩空间)。做柔和的过渡、模拟窗户投进来的方向光,用渐变比用笔刷快。
噪声与变形:Add Noise、Size of the warp noise、Deep painterly warp、Direction the warp flows along。这一组是让笔刷痕迹「不那么笔刷」的关键——加一点噪声与扭曲,画面才有手绘与自然的感觉。
模糊:Blur ON / Blur OFF、Auto Blur、Blur Gobo、Blur Hardness、Blur Multiplier、Bleed Reduction。灯光贴图的边缘必须柔,硬边会暴露 CG 感。这里给了自动模糊与手动两级控制。
遮挡与阴影:Shadow Casters、Shadow Caster Object、Shadow Caster Collection、Shadow Softness、Shadow Mask Overlay。可以让场景里的物体真的挡住这笔光,并且控制阴影的软硬。
空间:Paint Space(绘制的坐标空间)、Light Space、Camera Space、Blend Space、Blend。这一组决定你画的时候「跟着什么走」——是跟着灯光、跟着相机、还是跟着表面。
精度:Light Texture Resolution、Light Depth Resolution、Camera Depth Resolution、Light near / far clip。贴图与深度图的分辨率都是可设的,直接影响细节与性能。
三、它和「挂一张 gobo 贴图」的实质区别
挂 gobo 是静态的:贴图是什么样,投出来就是什么样,改构图就得换图。
Light Painter 的贴图是你自己画的,而且画的时候能看见投射结果——因为它在视口里做。这意味着你可以一边画一边看树影落在墙上的形状对不对,而不是画完渲一遍才发现位置偏了。
第二条区别是它可以用深度图判断遮挡。包里有 Light Depth Resolution 与 Camera Depth Resolution 两套深度设置,加上 Shadow Caster Object / Collection,说明它会在画的时候考虑场景几何——笔刷画到某个物体后面时会被正确遮挡,而不是像贴图那样一视同仁。
第三条区别是它带图层与混合。一张贴图只能有一个状态,多层贴图可以一层是基础的窗格形状、一层是斑驳噪声、一层是手动修饰,分别调整不透明度与混合模式。后期要改哪一层就改哪一层。
这三条加起来的结果是:它更接近「在 Photoshop 里画 gobo」而不是「在素材库里挑 gobo」,但画完直接就是灯光属性,不需要导出。
四、版本与安装
版本:包内清单写 `version = “1.2.0”`、`blender_version_min = “3.6.0”`,与 `__init__.py` 的 bl_info (1, 2, 0) / (3, 6, 0) 一致。官方页 Details 的 Blender Version 也写 3.6 – 5.2,这回三处对得上。
另外说明一件事:psdly 的搬运页有两个下载入口,第一个是 v1.0.7、第二个才是 v1.2.0。本包用的是第二个入口的 1.2.0。这也是这类搬运页的常见情况——入口顺序不一定是新版在前,得看包名。
安装:Blender 里 Edit > Preferences > Get Extensions > Install from Disk,选 zip(包内有 blender_manifest.toml,会按扩展处理);或者把 `LightPainter` 目录拷进 scripts/addons。
包内结构:`LightPainter/` 下有 `__init__.py`、`light_painter.py`(主逻辑)、`light_aim.py`(灯光瞄准与定位)、`overlay_ui.py`(视口叠加界面)、`shaders.py`(着色器,多半是绘制时的预览着色)、`utils.py`,以及 `font/` 与 `icon/` 两个资源目录。
清单申请的权限是 files(读取硬盘上的贴图、把灯光贴图写入临时目录)——这是它工作必需的一项,画出来的贴图得存成文件才能被灯光引用。
上手位置:3D 视图工具栏(T)里有 Light Painter 工具,侧栏(N)里有 Light Aim 面板。官方 bl_info 的 location 字段写的就是这两处。
五、适合谁,以及三个实际门槛
适合:做产品渲染、建筑表现、场景氛围的;需要特定光影形状但素材库里找不到的;习惯手绘、愿意用笔刷调细节的。
三个门槛要说清楚:
一是渲染引擎。 官方 Details 的 Render Engine Used 只写了 Cycles。Eevee 能不能用官方没说,保守假设以 Cycles 为主。
二是灯光贴图本质是投影贴图。 它投出来的是你画的那张图,不是真实的体积光散射。想要烟雾里那种光束(god ray / volumetric),还得靠体积着色器,这个插件管不了。
三是深度相关的效果依赖场景几何。 遮挡、阴影投射这些设置在有实际模型的场景里才有效;如果场景只是个 HDRI 加几盏灯,这些参数设了也没东西可挡。
价格分三档:个人 $28(原价 $40)、Lite $4.90(功能受限,可随时升级)、Indie $175(最多 10 人)。官方说卖出了 2300+ 份、14 个评分,在灯光类插件里算是走量的一款。本包是安装文件,授权需自行购买。
原产品页:https://superhivemarket.com/products/light-painter
封面图片来自作者官方产品页。本文为中文整理,功能与兼容性信息以作者官方页面与包内说明为准。资源仅供学习交流,商业使用请购买正版授权。















暂无评论内容