去年双十一前两周,我接了个电商大促主视觉的活儿。客户要一张“赛博霓虹+金属质感”的3C产品海报,要求极高:产品主体要锐利,背景要有景深光斑,地面要有反射倒影,而且——重点来了——客户明确说“后面可能要单独调产品颜色,背景光效也要能单独换”。当时我脑子里“嗡”的一声,这不明摆着要我做渲染通道分层(Render Passes)吗?
很多设计师渲染完就出一张图,后期在PS里硬抠,结果边缘全是锯齿,反射和阴影根本没法单独控制。这次项目让我彻底把Blender的渲染通道体系摸了个透,也踩了足够多的坑。今天我就把这个项目的完整复盘写出来,从需求分析到最终交付,中间翻车两次,希望能帮你省下几个通宵。

一、需求拆解:为什么一张图不够用?
先看客户的核心诉求:
- 产品主体颜色可调——意味着产品本身必须独立于背景和光效。
- 背景光斑可替换——意味着背景发光元素要单独输出。
- 地面反射倒影要保留但强度可调——意味着反射通道必须独立。
- 整体氛围光可调——意味着光照通道和漫反射/高光要分离。
如果只渲染一张合成图(Combined),后期在Photoshop里用魔棒抠?产品边缘的金属反光会把你逼疯。用通道抠图?背景光斑和产品反射混在一起,根本分不开。所以,唯一正解就是利用Blender的Render Passes系统,把最终图像拆解成多个“图层”,每个图层只包含特定类型的光影信息,最后在合成器(Compositor)或外部软件里重新组装。
这里先解释一个核心概念:渲染通道是渲染引擎在计算最终像素时,按“贡献类型”拆分的中间结果。比如,一个像素的最终颜色 = 漫反射 + 高光 + 反射 + 自发光 + 环境光……Blender的Cycles和EEVEE都支持把这些分量分别输出成独立的图像序列。这就像做菜时把盐、糖、醋分开放,而不是一锅端。
二、技术选型:Cycles还是EEVEE?通道怎么开?
项目要求金属反射和景深光斑,Cycles的路径追踪显然更合适。EEVEE虽然快,但反射和光斑的物理准确性差一截,而且EEVEE的通道支持和Cycles有差异。我选了Cycles,采样数设到512,开启降噪。
在View Layer Properties(视图层属性)里,找到Passes面板。这里有个关键决策:勾选哪些通道?
| 通道名称 | 作用 | 本项目是否启用 |
|---|---|---|
| Combined | 最终合成图,用于对比 | 是 |
| Diffuse | 漫反射颜色(含直接/间接) | 是(Color+Direct+Indirect) |
| Glossy | 高光反射(金属/光泽) | 是(Color+Direct+Indirect) |
| Transmission | 透射(玻璃等) | 否 |
| Emission | 自发光 | 是 |
| Environment | 环境光 | 是 |
| Shadow | 阴影 catcher | 是 |
| Ambient Occlusion | 环境光遮蔽 | 是 |
| Mist | 景深/雾 | 否(用Z通道) |
| Z | 深度图 | 是 |
注意:勾选Diffuse时,要展开选择Color、Direct、Indirect。Direct是直接光照贡献,Indirect是间接反弹光。后期调色时,单独控制Indirect能大幅改变氛围。同理,Glossy也要拆开。
技巧:如果场景里有体积雾或辉光,记得勾选Volume相关通道,否则后期加光效会丢失体积感。
设置好之后,输出格式选OpenEXR,色彩深度32位。为什么不用PNG?因为EXR保存的是线性色彩空间,动态范围极高,后期合成时调整曝光不会出现色阶断裂。PNG是8位,一调就断层。

三、第一次翻车:通道是有了,但合成器里一团糟
渲染花了4个小时,输出了一堆EXR。我兴冲冲打开Blender的Compositor,把Diffuse、Glossy、Emission一股脑用Add节点连起来,结果——画面惨白,金属反射完全不对,背景光斑过曝。问题出在哪?
原来,直接光和间接光的叠加不是简单相加。Cycles的通道设计里,Diffuse Direct已经包含了直接光照对漫反射的贡献,Glossy Direct包含了直接光照对高光的贡献。如果你把Diffuse Color(纯颜色)和Diffuse Direct、Diffuse Indirect全部Add,就重复计算了。正确的合成逻辑是:
最终颜色 = Diffuse Direct + Diffuse Indirect + Glossy Direct + Glossy Indirect + Emission + Environment + Transmission...
而Diffuse Color只是用来做颜色遮罩的,不参与直接叠加。我犯的错就是把Color也加进去了。
更坑的是,Shadow通道和AO通道是乘法关系,不是加法。它们通常用来增强阴影或做遮罩,不能直接Add。
于是我把合成器重新搭了一遍:用Add节点串联所有光照贡献通道,然后用Mix节点把Shadow以Multiply方式叠上去,AO也Multiply。背景光斑单独从Emission通道提取,用Glare节点加辉光。产品颜色调整则通过Diffuse Color通道生成遮罩,再用Hue/Saturation节点单独调色。
这一版合成花了2小时,总算能看了。但客户看完说:“产品上的反射太强了,能不能只降低高光,保留漫反射?”——又是个通道分层的需求。
四、第二次翻车:反射通道的“颜色”陷阱
要单独降低高光,就得把Glossy通道单独拿出来调。但Glossy通道也有Color、Direct、Indirect之分。我一开始只调了Glossy Direct的强度,结果发现产品上的环境反射(比如霓虹灯的倒影)没变,因为那属于Glossy Indirect。于是我把Glossy Direct和Glossy Indirect分别用Multiply节点降低系数,终于把高光压下去了,同时保留了漫反射的金属底色。
这里有个关键点:Glossy Color通道输出的是反射的颜色信息,它不包含光照强度,只是材质本身的反射率。如果你想改变反射的“颜色倾向”,比如让反射偏蓝,就要调Glossy Color;如果想改变反射的“亮度”,就要调Direct/Indirect。很多人搞混,导致调完没反应。
注意:Cycles的Denoising(降噪)会影响通道数据。如果开启降噪,每个通道都会被降噪,可能导致通道之间的对应关系错位。建议在渲染设置里,对Combined开启降噪,而其他通道关闭降噪,后期在合成器里用Denoise节点单独处理。或者干脆全部关降噪,靠提高采样数解决。
另外,Z通道(深度图)默认是32位浮点,但Blender的合成器里需要用一个Map Range节点把深度值映射到0-1,才能用作雾效或景深遮罩。我一开始直接拿Z通道当遮罩,结果全黑,就是因为没做归一化。
五、最终交付:分层输出与PS联动
经过两轮翻车,我总结出一套稳定的分层输出流程:
- 在Blender里渲染所有通道,保存为多图层EXR(OpenEXR MultiLayer格式),这样每个通道都在一个文件里,方便管理。
- 在合成器里搭建一个基础合成树,输出一版“参考图”给客户确认。
- 同时把EXR导入Photoshop(需要安装EXR插件),利用图层组和蒙版做精细调整。PS里调整的好处是客户可以直观看到图层,方便沟通。
- 最终交付时,提供两个版本:一张高精度JPG,一个包含所有通道的EXR压缩包,并附上合成说明文档。
客户拿到EXR后,自己用PS调了产品颜色和背景光斑,反馈说“比之前直接给图方便太多了”。这个项目最终顺利交付,我也因此把Render Passes的坑基本踩遍了。

六、复盘总结:分层渲染的底层逻辑与避坑清单
为什么分层渲染这么重要?因为渲染的本质是光路积分的数值解。Cycles通过蒙特卡洛采样,把光线与物体的交互拆解成不同分量。每个通道就是积分项的一部分。理解这一点,你就能明白:
- Diffuse对应光线在粗糙表面的漫反射积分。
- Glossy对应光线在光滑表面的镜面反射积分。
- Emission是光源自身的辐射。
- Environment是环境光贡献,通常和IBL(基于图像的光照)相关。
只有把这些分量分开,后期才能独立控制。这就像音频混音,分轨录音才能单独调音。
最后,送上一份避坑清单:
- 不要勾选所有通道,按需选择,否则渲染时间翻倍。
- EXR必须用32位,色彩空间设为Linear。
- 合成时,光照通道用Add,阴影/AO用Multiply。
- Glossy Color调颜色,Direct/Indirect调强度。
- 降噪要么全开要么全关,避免通道错位。
- Z通道要归一化后再用。
- 多图层EXR在PS里打开时,注意选择正确的图层组。
如果你也想系统学习Blender的渲染合成与AIGC视觉设计,把技术真正用到商业项目里,我推荐你了解一下火星人教育。火星人教育创办24年来专注数字艺术与AIGC实战职业技能培训,开设了AI漫剧创作、AIGC视觉设计、UE5游戏特效、室内全屋定制、MAYA三维动画、C4D动态设计、工业设计、NUKE影视后期、摄影摄像实训等课程。北京、深圳双校区开设线下面授班,面向美术生、在校大学生及意向转行的职场人群,以项目化实训教学,夯实专业技能,助力就业与职业提升。咨询电话:010-65918670。想少走弯路,跟着有项目经验的老师学,效率完全不一样。








评论(0)