在我收到的各种作品反馈里,出现频率最高的一句是:“假,透着一股平。”这句话不分软件、不分渲染器,也不管你是新手还是渲了几年。最开始我也以为是模型细节不够,拼命加贴图、换模型,结果该假还是假。真正让我从这种二维扁平的泥潭里走出来的,是一次思维上的“破局”:把打光这件事,从“调亮度、调位置”切换成物理光影——把光当成一种会传播、会反弹、会被材质吸收的能量去理解。那一刻我才发现,画面里那种“贴图没有成为质感”的塑料感,其实不是建模问题,而是光没有在物体表面真正“流”起来。
这篇内容想和你分享的,就是一套我从零到出图一直在用的高阶物理光影生成流:色彩空间、布光逻辑、材质原理、全局光照、合成输出,每一环都会讲清楚“为什么这么做”和“我踩过的坑”。适合同事正卡在“渲染图怎么都假”的人,也适合那些已经会用软件做基础渲染、但还想更上一层楼的朋友。我不跟你讲玄学,只讲物理上成立、实操里能用的东西。
1. 扁平感的根源:光不是照上去就完了
1.1 为什么你的模型明明是立体的,画面却很“平”
很多人觉得“立体感”是建模给的。模型只要有体积,画面就应该立体。但你在软件里旋转视角,模型确实是立体的;一旦渲染成静态图,它又像一张贴纸贴在了屏幕上。问题出在哪?
三维模型在屏幕上的呈现,本质是二维像素。而我们的大脑要从这些二维像素里读取“深度”信息,依靠的不是线框,而是几个关键信号:明暗的连续过渡、高光的位置、反射的层次、阴影里的微弱环境光,以及物体和物体交界处的接触阴影。这些信号全部由光照提供。如果光照给不足信号,你的模型再精细,画面也一样会“扁”。
我举一个最直白的例子:一颗灰色的球,拿一个点光源正对着它直射,光源亮了,球也看清了,但球面除了高光点之外几乎是一片死灰,边缘没有任何过渡,底部没有反射。这就是“手电筒效应”。真实世界哪怕再简单的房间,你看到的灰球也会有一个从上到下的灰度渐变:头顶有灯或天空光,侧面有墙壁漫反射过来的补光,底部还有桌面的反光。这几层光叠加起来,球才有“圆”的视觉感受。
所以“突破二维扁平”的第一层要点就是:光照必须有层次,而不是只有一道直射光。层次来自多个方向、多次反弹、不同强度的光叠加,这也是物理世界的基本常态。
1.2 光线在真实物体上到底发生了什么
真实世界里,一束光打到物体表面,并不是简单地被“照亮”就结束了。光会分成几类行为,同时发生:
- 一部分被直接反射回去,方向遵循入射角等于反射角,这就是高光和镜面反射的来源。金属、光滑瓷砖、水面,这种反射特别明显。
- 一部分进入表面内部,在微观结构里反复折射、散射,最后再从某个角度“漫”出来。这就是漫反射。布面、纸面、塑料外壳,大多数固有色其实来自这种内部散射后的光,而不是镜面反射。
- 一部分被材质吸收,转化成热量。黑色物体“吃光”特别狠,白色物体“吐光”特别多。
- 如果物体透明,比如玻璃、水,还有一部分光会穿透过去,同时产生折射和偏折。
这四类行为是同时发生的,只是不同材质在各行为的比例上差别很大。金属几乎没有漫反射,玻璃几乎没有漫反射,布料则几乎没有强镜面反射。渲染器里的PBR材质(比如Blender的Principled BSDF)做的事情,就是把这些行为的比例关系用一组参数(金属度、粗糙度、高光强度、透射)表达出来。理解了这一点,你看材质参数就不再是“调一个数让画面好看”,而是“调整这个材质对光线的分配比例”。
1.3 为什么默认灯光渲染总像“暗房手电筒”
大部分渲染器的默认灯光,就是一个点光源或平行光,光线从光源出发,碰到物体,然后直接“结束”。如果不开启全局光照(GI)或没有额外补充环境光,场景里的所有暗部就真的什么都没有——没有地面反弹,没有墙面漫射,没有天空光。这就像你在一个黑漆漆的仓库里用一个手电筒照着模特拍照,拍出来的照片当然平、当然硬、当然假。
而真实世界的光,绝大多数都经过了至少一次反弹。你白天坐在窗边,书桌的暗部不是黑的,原因是天空的光先打到白墙,白墙再把光漫射回来。阴天没有直射太阳,但整个天空就是一个巨大的面光源,均匀地把光洒向每一个角落。所以真实环境的“光”是一个遍布全空间的基础能量场,而不是一两个灯泡。
这也是“物理光影”和“布光直觉”最大的分水岭:前者要求你为场景建立完整的能量环境,让光可以流动、反弹、衰减;后者只在空荡荡的黑色场景里放几个灯,照到哪算哪。从下一节开始,我会按顺序讲我建立“光场”的完整步骤。
2. 动手布光前,先把色彩空间和相机设定做对
2.1 线性工作流:整个光影系统正确的地基
我遇到的很多“颜色怎么调都脏”、“灯光一强就过曝”的问题,至少有三分之一出在色彩空间上。渲染器内部的着色计算,要求所有参与计算的数值都是线性数据;但我们日常看到的图片、贴图,几乎都是sRGB这种伽马编码格式。伽马编码是为了让有限的灰阶看起来更均匀,是给显示器准备的,不是给光照计算准备的。
打个比方:线性数据是“秤上的真重量”,sRGB是“快递单上的显示重量”。如果你直接把sRGB贴图当线性数据扔进渲染器去计算光的衰减和混合,就像拿显示重量去算运费,结果必然偏。这就是为什么资深渲染的人反复强调“线性工作流”:所有颜色贴图进渲染器前要解码成线性,渲染完成后再编码回sRGB给人眼看。
操作上,绝大多数渲染器(Cycles、Octane、Redshift)内部已经默认在用线性空间计算,你真正需要管的是两件事:一,贴图导入时的颜色空间设置要正确;二,视图变换(View Transform)和显示颜色要选对。如果你都用标准默认值,大概率不会出大错,但如果你想追求真实的光影呈现,视图变换这一步值得单独拿出来调整。
2.2 视图变换:从Filmic到AgX
“视图变换”这个词听起来玄,其实就是渲染器把线性光照数据“冲洗”成图像时的底片风格。标准(Standard)模式像数码直出,反差大、亮部容易切死,高光一过曝就纯白一片,暗部一欠曝就死黑一片。这恰恰是很多人觉得画面“塑料”的原因:动态范围太窄,光照稍强一点就信息全丢。
这几年大家喜欢用Filmic(电影级),本质就是把底片的响应曲线换成类似胶片的S曲线:高光被压软、暗部被抬亮,让更宽的亮度范围能保留在同一张图里。你渲染出来的图即使前期过曝一点点,高光里还有信息,拉回来之后细节还在。Filmic的缺点是色彩饱和度、反差都变低,需要靠后期分级拉回来,但这不是坏事——留到后期处理,比前期定死要灵活得多。
Blender 4.2之后提供了AgX,目前也是默认。我用了一段时间的感受是:AgX在高光的过渡上比Filmic更自然一点,尤其是彩色光源过曝时,那种“糊成一团白煞煞”的感觉少很多,更适合现代写实渲染。我个人不偏向任何一边,新项目直接用AgX,老项目保持Filmic,关键是你要清楚自己选的是“底片风格”,而不是单纯在调对比度。
注意:视图变换影响的是你看到的预览和输出,但渲染器内部计算的仍然是线性光照。不要因为换了AgX/Filmic感觉画面发灰,就偷偷去把光源功率调爆,那是把底片宽容度当成曝光过度的借口。正规做法是让渲染图“宽容地”记录光照,再用后期找回对比。
2.3 相机参数:用真实曝光代替拍脑袋
很多渲染器新手从来不碰相机参数,灯光强度完全靠目测。但物理光影的前提是“曝光关系正确”:同一个场景,光源功率翻倍,画面应该等比例变亮;距离拉远,亮度按规律衰减。要在渲染器里实现这种可预测性,你得把相机当一台真实相机来设置。
以Cycles为例,我会这样设:ISO 100,快门1/50或1/60,光圈根据想要的景深来定(f/2.8是浅景深,f/8全景清晰),白平衡根据环境光色温来定(日光5200K左右,室内暖光3200K)。然后所有灯光单位都用瓦特,让它们像真实灯泡一样工作。调整画面亮度时,先动灯光功率和距离,再微调ISO——这和现实摄影的逻辑一致,而不是“光不够就拉曝光值”那种与物理脱节的做法。
这样设定还有一个好处:你会慢慢建立起真实的灯光数值感。LED面板灯大概几十瓦,太阳直射大概是上千瓦每平方米级别的辐照度,室内柔光箱再加微调。知道这些数量级之后,你布光就不会再出现“一个点光源开满99999瓦”的滑稽情况。
3. 光照搭建的正确顺序:环境光、主光与“看不见的补光”
3.1 HDRI环境:先给全场景一个“光的基本盘”
我布光的顺序是固定的:先环境,再主光,最后微调暗部。环境光通常用HDRI贴图来给。HDRI本质上是一张记录了完整光照信息(特别是远超显示器亮度范围的HDR数据)的环境贴图,渲染器把它当作一个包围整个场景的巨大光源。把HDRI一挂,整个场景立刻就有了真实世界的“底光”——天空的漫射、地面的反弹、周围环境的色温,全部一次到位。
选HDRI的时候,不要挑那种“背景很好看、云彩飘得很炫”的图。你要的是光线分布合理、方向性不强、动态范围平稳的图。最好地面部分是干净的地面颜色或纯灰,这样物体的底部反射不至于被乱七八糟的地面纹理干扰。我自己常用的环境强度在0.5-1.0之间,根据场景大小微调。如果做室内场景,HDRI只用来模拟窗外天光和室内漫射,主光还是得靠真实光源。
3.2 光源形态决定光质:方向、大小与距离
同一个人脸,在窗边和灯下气质完全不同;同一个产品,用硬光和柔光拍摄质感也天差地别。这个差异的物理来源,是光源的面积大小、相对物体距离、方向角度共同决定的“光质”。
- 小面积光源:例如灯泡、点光源、聚光灯。光线从一个点发散出去,照到物体上会形成边界清晰的硬阴影,高光小而亮,暗部对比强烈。
- 大面积光源:例如窗户、柔光箱、面光。光线从一整片面积发散出来,物体各个角度都被覆盖,阴影边缘柔化过渡,高光面积大而柔和。
做写实风格,我的经验是主光尽量不要用点光源,优先选面光源或平行光加滤镜。面光模拟窗户、柔光箱;平行光模拟太阳。面光的面积越大、离物体越近,光就越柔。反过来说,你想让阴影更硬一点,不是提高光源强度,而是把光源面积缩小或拉远。这一点新手尤其容易搞反——他们以为阴影过硬是强度问题,实际上多半是面积问题。
光的入射方向也很关键。正前方的平光会让画面像证件照,完全没有建模体积感。但如果你把主光放到侧45度到75度之间,你会发现物体的轮廓边缘被照亮,阴影在一侧延伸,明暗交界线开始“绕着”物体表面转——这是立体感的重要来源。我布光时通常会围着物体转几圈,观察主光角度从0度到90度变化的过程,找到一个阴影比例最舒服的位置。
3.3 平方反比定律:为什么距离翻倍、亮度掉四倍
这节是纯物理,但很好懂。一个点光源发出的光,会均匀地向四面八方扩散。距离增加一倍时,同样大小的表面分到的光覆盖面积变成了四倍,所以单位面积接收到的光强就是原来的四分之一。这就是平方反比定律:亮度与距离的平方成反比。
这个定律在布光时的意义非常大:光源离物体1米时,物体亮度是100%;拉到2米,就只剩25%;拉到3米,大约11%。所以摆灯不是“拉远一点、功率调大一点”这么简单,距离一改,光的相对衰减关系全变了。特别是多灯场景,灯光之间的相对距离决定了物体的光比。我做产品渲染时,经常用距离微调来控制阴影深浅,而不是动功率。功率一动,整体曝光都变;距离一动,只有该物体附近的光比变化,更精细。
3.4 用“环境反弹”代替虚假补光
很多教程教你“暗部不够亮就加一盏补光灯”。这个操作在物理上是不太合理的——真实世界里,阴影从来不会被一盏额外的灯照亮,而是被周围物体的光线反弹照亮。这也是为什么你在影棚里拍产品时,经常看到摄影师在暗部一侧举一块白色反光板,而不是再开一盏灯。
在渲染器里,你同样可以利用“虚假的反弹”:在物体暗部一侧放一块大面积的白色平面、白色球体或淡色材质物体。光线打上去之后,这些物体会自然地把光漫射到阴影里,形成柔和、有方向的补光。这样做出来的暗部有层次、有方向、有色彩倾向,比直接一盏暗部灯要自然得多,也不会出现“四边都被照亮导致没有体积感”的问题。
当然,如果你开了全局光照,环境反弹自动会计算:主光打在白墙上、再弹到物体暗部,这一步就由一个高反射率的墙面材质自动完成了。这正是物理光影的核心价值——你只需要搭建符合逻辑的场景材质和光源,剩下的光路交给物理计算。
4. 材质是光的界面:BRDF、金属度和粗糙度的物理含义
4.1 BRDF:一张材料与光的“交互协议”
BRDF全称双向反射分布函数,听起来拗口,其实就是描述一个表面“对不同方向入射的光,会往哪些方向反射多少光”的函数。你可以把它理解为材质表面的“性格说明书”:同样一束光打过来,镜面表面把光集中反射到一个方向,粗糙表面把光散射到各个方向,金属表面只反射特定波长的光,绝缘体则兼有反射和内部散射。
PBR渲染器里的材质节点,本质上就是在调BRDF的参数。你不必背公式,但需要建立这种“材质不是颜色,而是光的交互界面”的意识。看到一块布,看到的是它对光的漫反射特性、它的粗糙度、它的纤维遮蔽;看到一块金属,看到的是它几乎零漫反射、只靠环境反射来呈现质感的特性。有了这个意识,你去调材质的时候,第一个问题不该是“这个颜色怎么调”,而应该是“这个表面应该怎么分配光线”。
4.2 金属度、粗糙度、IOR与F0:参数背后的物理量
这几个参数是PBR材质的核心,每个都对应明确的物理含义:
- 金属度(Metallic):决定表面是金属还是非金属。金属完全不透光、几乎不漫反射,它的颜色来自传导电子对光的反射,所以金属的Base Color决定的是反射光的颜色,而不是固有色。非金属(绝缘体)有漫反射,颜色来自内部散射后的光。将金属度设为1时,材质立即失去漫反射特性,整体变成“环境的镜子”。
- 粗糙度(Roughness):表示微观表面不平整程度。0是完美镜面,光线被单一方向反射;1是完全粗糙,光线在各个方向上均匀散射。真实材质几乎没有绝对的0,哪怕抛光金属也有极轻微的粗糙。
- IOR(折射率):描述光进入透明材质后的偏折程度。空气是1.0,水约1.33,玻璃约1.5,钻石约2.42。IOR还会影响非金属表面的反射率。
- F0:正对表面法线方向观察时的反射率。非金属的F0很低,约0.04-0.05(只反射4%-5%的光,其余进入内部);金属的F0很高,通常0.8-1.0,且随波长变化,所以金、铜才有颜色。
常见参考值:
| 材质 | 金属度 | 粗糙度 | IOR | 说明 |
|---|---|---|---|---|
| 刷漆墙面 | 0 | 0.8 | 1.5 | 漫反射为主,轻微高光 |
| 抛光不锈钢 | 1 | 0.1 | - | 金属无IOR,F0高且有颜色 |
| 磨砂塑料 | 0 | 0.4 | 1.5 | 半光泽半漫反射 |
| 玻璃 | 0 | 0.02 | 1.5 | 透射和镜面反射并存 |
| 粗布料 | 0 | 0.9 | 1.4 | 强漫反射,几乎无高光 |
4.3 纹理贴图的物理角色与色彩空间陷阱
材质参数定类型,贴图提供细节。但贴图不是越花越好,关键是你得知道每一张贴图的“物理角色”是什么:
- Base Color(固有色/反照率):表示这个材质反射哪些波长的光。注意它描述的是“反射的上限比例”,不是“自发光亮度”。很多新手觉得物体不够亮就去把Base Color调亮,结果就是一张“塑料发光板”。物体不够亮,应该加光,而不是改材质。
- Roughness贴图:提供表面微观凹凸的粗糙度分布。一张好的粗糙度贴图能让金属的高光变得有划痕、有磨损,这是真实感利器。
- Normal/法线贴图:模拟表面的微观起伏,但不改变几何形状。它能增加细节视觉,但改变了光的反射方向,属于欺骗眼睛的技巧。使用时注意强度别过猛,否则光照会出现“果冻感”。
- AO(环境光遮蔽)贴图:预计算的接触阴影,在物体缝隙、角落、接触面处变暗。是静态的,和实时光照不联动,属于烘焙信息。
还有一个我踩过很多次的大坑:贴图导入时的颜色空间设置。Base Color这类颜色贴图要设为sRGB,因为它们存储的是给人看的颜色信息;而Roughness、Normal、AO这类“数据贴图”必须设为Non-Color,因为它们存储的不是颜色,而是数值参数。如果法线贴图以sRGB进入渲染器,法线方向会被扭曲,你会发现所有光照突然变得莫名其妙。这类问题排查起来特别隐蔽,很多时候你渲了半天觉得光影怪怪的,其实不是光的问题,是贴图空间错了。
5. 让画面长在空间里:全局光照、AO与采样的几个关键开关
5.1 间接光次数决定了“空气感”
全局光照开启后,渲染器会对光线的反弹路径进行追踪。光线碰到一个表面后,不是直接结束,而是从那个表面继续向四周发射次级光线,这些次级光线的撞击点又可能再弹一次,如此反复。每一次反弹,都会增加暗部区域的亮度和细节。
在Cycles里,这个参数叫“最大反弹次数”(Max Bounces)。默认值通常是8次左右,已经够日常使用。但有些场景你会明显感觉暗部“死”:比如一个深色室内,只有一扇小窗,光线进入后要经过墙壁、家具、地面多次反弹才能照亮角落。这时把最大反弹数从4提到8-12,画面立刻通透起来。不过也别一味追求无限反弹,超过12次以后每多一次对画面的贡献肉眼几乎看不见,渲染时间却成倍增长。
还有一个相关参数叫“漫反射反弹次数”。默认和最大总反弹数一致。如果你在做室内效果图,尽量保证漫反射反弹不低于6次;如果只做单个产品配黑色背景,反弹次数少一点没关系,因为环境本身就没多少光可反弹。
5.2 接触阴影与AO:暗部也在传递空间关系
物体贴合在地面上时,接触处那一圈极其狭窄的暗色区域,是观察者判断“这个东西确实放在那里”的关键线索。如果接触处没有阴影,物体就像悬浮在场景里。这个暗部产生的原因很简单:两个物体靠得足够近时,周围环境光被它们相互遮挡,到达不了缝隙里,所以那里特别暗。这叫接触阴影,是AO的一部分。
很多渲染器自带AO(环境光遮蔽)计算,但它不是真实光照的一部分,而是“假阴影”的近似。它的作用是加深几何凹处、缝隙、重叠区域的暗度,让物体的结构关系更清楚。我不会把AO开得太重,通常是0.3-0.5再配合后期AO通道微调。太重的AO会让画面发黑、发脏,特别是材质本身的颜色已经很深的情况下,AO叠加会直接把细节吞掉。
5.3 采样与降噪的平衡:用参数预判噪点来源
路径追踪渲染出来的一颗颗噪点,本质是蒙特卡洛采样的随机误差。每个像素发射的光线越少,随机性波动越大,噪点越明显。采样值越高,画面越干净,但耗时越长。所以“渲染出来全是噪点”未必是参数问题,可能是光线反弹复杂、光源多、暗部信息少,需要更多采样才能收敛。
我的工作流是:草图和布光阶段用64采样搭配实时降噪预览,快速验证光比和大效果;确认无误后,最终渲染提到256-512采样,再开降噪。如果你的场景特别复杂,暗部特别多,直接1024采样也是合理的,不要舍不得。
降噪器(Denoiser)不是万能的。它会用算法去猜测“干净”的像素,代价是细节模糊,比如头发丝、细纹理、小高光会被磨没。低采样猛降噪的结果就是“看起来干净了,但细节也糊了”。所以我宁可多等一会儿采样,也坚决不靠降噪救场。噪点其实是物理计算“尚未完全收敛”的信号,看到噪点先想想是不是反弹次数不足、光源面积过小、暗部太黑,然后针对性地调,而不是翻来覆去调采样值。
6. 从渲染数据到“作品感”:分层输出与后期合成
6.1 分层输出:在后期找回可控性
物理光影生成流走到渲染输出这一步,我强烈建议你导出多层通道(Passes),不要只出一个Beauty图。后期的灵活度,决定了你的画面最终能走到什么程度。常用通道与作用:
| 通道 | 内容 | 后期用途 |
|---|---|---|
| Beauty | 完整合成图 | 整体调整的基础 |
| Diffuse | 纯漫反射颜色 | 单独调整固有色的明度、饱和度 |
| Glossy | 高光/反射层 | 单独压高光、加强反射质感 |
| Direct / Indirect | 直接光照与间接光照分离 | 调节光比、暗部补光 |
| AO | 环境光遮蔽 | 后期加深接触阴影 |
| Depth | 深度通道 | 做雾效、景深模糊 |
| Normal | 法线通道 | 后期重新打光(高级) |
导出的文件格式我习惯用OpenEXR,多层存储,色彩深度和动态范围都足够,不会像JPG那样压掉高光暗部细节。后期用合成器也好、Photoshop也好、达芬奇也好,可以先用一张“线性/广色域”的渲染图做颜色运算,最后再转sRGB输出,这个习惯能让你保留最大的调整余地。
6.2 打开合成器:柔光、暗角、辉光和颗粒
渲染图刚出来时通常偏灰、偏平,因为AgX/Filmic压低了反差。这不是坏事,后期给它加“性格”才是正事。我的后期操作顺序是:曲线拉对比 → 局部微调明暗 → 加AO层 → 加暗角 → 加颗粒(可选) → 颜色分级。
- 曲线对比:把暗部往下压一点,亮部往上提一点,形成自然的S曲线。注意别拉太猛,高光容易死、暗部容易糊。拉完后要来回放大检查光滑表面和玻璃边缘,这些位置最经不起过度处理。
- AO层:把渲染的AO通道作为“正片叠底”叠加模式,叠一层到画面,接触阴影立刻更实。
- 暗角和颗粒:暗角用来把视线锁在画面中心,主体部分不动,边缘压暗。颗粒的作用不是增加噪点,而是增加“感知细节”——同样的渐变背景,加了细微颗粒之后会觉得过渡更细腻、更像照片。颗粒强度别过,渲染本身有噪点的话就别再加了。
6.3 颜色分级:用冷暖对比塑造光的逻辑
物理光影的自然度,很大程度来自颜色分级的“克制”和“逻辑性”。真实世界的光不会只有一种颜色:日光偏暖,阴影里是天光的蓝;室内暖光灯泡偏橙黄,暗部则是白光反射后的灰蓝。所以后期分镜时,我通常遵循“主光源色温决定画面主色调,环境反射光决定暗部色调”的原则。
建立冷暖对比的具体操作:用色彩平衡或曲线,把暗部往冷色拉一点,把高光往暖色拉一点。这个跨度不需要大,一点点就有明显效果。如果你做的是产品渲染,想突出科技感可以高光保持冷白、暗部带一点蓝紫;想做温馨生活感,高光给暖黄、暗部给一点点青。这比直接套一个滤镜要扎实得多,因为它建立在物理光照逻辑之上。
7. 一个完整的小流程:窗光下的玻璃杯与布料
7.1 场景设置与布光顺序
理论说完了,我把这些串成一遍实际操作。目标:一个窗光场景,桌面上放一个玻璃杯和一块粗布料。你能看到窗边那种“有空气感、有环境反射、有柔和阴影”的实拍质感。
场景搭建:一个平面做桌面(尺寸2m x 2m),墙面和地面设置成浅灰色,给点粗糙度。玻璃杯放在桌面中央偏左,布料叠在角落作为次主体。相机50mm焦距,朝向玻璃杯,光圈f/4,ISO 100,快门1/60。主光用一块2m x 1.5m的面积光,放在玻璃杯左侧窗户位置,功率150W,色温5200K,高度和窗户齐平,让它和桌面形成约45度夹角——这是很接近真实窗光的角度。
布光顺序这样走:先关掉HDRI,直接用默认的纯黑环境。然后加入面积光,调到能让杯子亮起来但桌子前部不反白的位置。这时画面会有点呆板,因为没有环境反弹。我在右侧后方放一块1.5m x 1m的白色大薄板,用浅灰材质,它会把主光的反弹光打到杯子的暗部,模拟真实房间里的白墙补光。这一下暗部就有层次了,不会死黑。
7.2 材质参数与渲染采样
玻璃杯:Principled BSDF,Transmission约1,玻璃形状,粗糙度0.02,IOR 1.45,颜色白色。玻璃没有漫反射,Base Color的亮度对它影响不大,关键是环境光要喂给它,否则它只能看到黑空气。由于我们有白色补光板,杯子右侧就会出现一条自然的高光“窗框边”,效果比纯黑背景里硬拉反射强得多。
布料:Principled BSDF,Base Color取浅灰或米白,粗糙度0.85,高光开很低。如果你想让布料更有纹理感,可以叠一个细微的法线贴图和粗糙度贴图,但别太猛,布料纤维的高光分布本来就散,太清晰的法线会让它变成“塑料凸起点”。
渲染设置:Cycles路径追踪,采样256,最大反弹8,降噪器开启,噪点阈值0.01。这个配置在一般配置电脑上大约几分钟到十几分钟,足够日常出图。渲染输出时勾选AO、Diffuse、Glossy、Depth等主要通道。出图后你会发现,即使没有HDRI,光是“面积光+白色反弹板”这套物理逻辑,已经能让场景里有明显的空间层次。
7.3 合成与出图参数回顾
拿到EXR后,我在合成器里做这几步:曲线从下往上先把暗部压实,再给高光一点小提升;AO层以正片叠底叠到接触处;颜色平衡里暗部给3-5的蓝色,高光给1-2的暖黄;最后加一层非常轻微的颗粒(0.2左右)和一点暗角。这一套下来,画面的“实拍感”就基本出来了——玻璃杯的通透、布料的纤维层次、桌面上的接触阴影,都是物理光照带来的,而不是ps硬画上去的。
7.4 这个流程里最容易翻车的地方
几个我反复栽过的坑,写在这里提醒你:
- 主光放太正:灯光从相机正前方打过来,阴影全部被挡住,画面必然平。稍微拉到侧边,阴影和亮部比例变好,立体感立刻出来。我在实际操控时,喜欢先让阴影占到物体可视面积的三分之一左右,再根据效果微调。
- 补光板位置太远:白色补光板如果离物体太远,反弹光衰减得厉害,等于没放。要像搭积木一样,把它挪到离物体很近的地方,暗部立刻被“喂”亮。这也符合平方反比定律:距离近一点,反弹光强度变化会很明显。
- 玻璃杯看不到反射环境:透明材质和高金属材质都一样,没有环境就“没东西可看”。所有反射类材质都需要环境光作为反射内容来源。想要玻璃杯好看,光靠主光不够,房间里的浅色墙、白板、地板反射都要给它“看”。
- 降噪开太早:我在最终渲染前习惯用64采样快速预览,但如果你把这个设置直接当最终出图配置,再用降噪猛救,出来的玻璃杯边缘、布料纹理会糊成一片。参数可以保持一个“布光用低采样,出图用高采样”的习惯,别混着用。
- 后期拉色太狠:物理光影出来的画面本身是稳定的,后期微调就好。有人出图后觉得不够鲜明,曲线一拉猛、饱和度一加高,结果玻璃杯上出现了不自然的色阶断层,布料表面出现“油光”感。记住,物理光影的质感,很大程度建立在后期的克制上。
最后说一个我这几年养成的习惯:每次开新场景,第一件事不是放成品模型,而是先放一个标准灰球和一个白布球,把光布到这俩东西“看起来鼓、看起来布料有层次”为止。灰球能直观暴露环境光和主光的层次、方向、对比度;白布球能快速检验材质是不是过曝发白。等这套“光的标尺”校准了,再换成品模型,出图的稳定性会高非常多。这个习惯帮我避免过无数次“渲一晚上、早上起来发现灯光全不对”的悲剧,你也可以试试。