Composer 不计算光影,Light 节点仅用于视口预览,不参与渲染;真实光影依赖外部3D软件输出的 shadow/occlusion.exr 通道,需正确导入并叠加。

Composer 渲染无光影,不是设置漏了,而是它根本不会计算光影——所有你看到的“光效”,都来自外部 3D 软件预渲染好的通道(比如 shadow.exr、occlusion.exr),Composer 只负责把它们叠上去。
为什么 Light 节点调了也没用
你在 Composer 里拖动 Light 节点的位置、改 Intensity、开 Cast Shadows,导出后全是平光。这是因为:Light 节点仅用于视口实时预览,不参与任何帧级渲染流程。它没有光线追踪引擎,不更新 Shadow Map,也不读取材质的 BRDF 属性。
-
Cast Shadows和ReceiveShadow只影响你在时间轴上拖拽时的视觉反馈,导出时直接被忽略 - 对
Light打关键帧?结果只会卡在最后一帧值,中间完全不插值 - 启用
Real-time Shadows或Ambient Occlusion开关,不仅不出光影,还会拖慢导出速度,甚至导致 MP4 编码崩溃
真正起作用的“环境光”在哪
所谓“环境光”在 Composer 中并不存在独立控制项。你能在合成中模拟它的,只有两类东西:
- 从 3D 软件导出的
occlusion.exr通道,设为Multiply混合模式叠加在beauty图层下方 - 用
Color Balance (HLS)效果器,在Shadows区域加微量Blue(模拟天光)、Midtones加极低强度Yellow(模拟漫反射暖调) - 千万别用
Levels或Brightness & Contrast整体提亮——这会破坏分层逻辑,让阴影边缘发灰、穿帮
检查灯光连接前先确认三件事
如果你导入的是带多通道的 EXR 序列,但依然看不到光影叠加效果,问题大概率不在 Composer 设置,而在数据源头:
- 检查 EXR 文件是否真包含
shadow和occlusion通道:用exrheader animation.0001.exr查看 channel 列表,别只看文件名 - 确认导入时没自动丢弃 alpha 或 multi-layer:在 AE/Nuke 中导入后,立刻展开图层属性,看
shadow是否作为独立子通道存在 - 验证色彩空间一致性:3D 部门若用 ACEScg 渲染,而你在 Composer 中以 Rec.709 解释该 EXR,
occlusion值会整体偏高,叠加后阴影过重甚至死黑
最容易被跳过的动作是:没打开 EXR 的 multi-channel 解析开关,就直接拖进时间线——此时 Composer 只读取了第一个通道(通常是 RGB),其余光影信息全被静默丢弃。


















