现象:为什么自发光物体在视觉上会“溢出”边界?
在影视级渲染中,一个自发光材质(如霓虹灯管、魔法符文、LED屏幕)的视觉冲击力,往往不取决于其表面亮度值本身,而取决于光线在光学系统与人类视觉系统中产生的散射与溢出现象。这种现象在后期处理中被称为Bloom(泛光)。许多进阶设计师能够调出“好看”的Bloom参数,却无法解释为何在特定镜头运动或亮度阈值下,泛光会突然变得“脏”或“断层”。要真正掌控这一效果,我们必须回到物理光学与数字图像处理的底层逻辑,而非停留在参数试错层面。
本文将以Maya为起点,贯穿Arnold渲染器的AOV(Arbitrary Output Variables)输出、线性色彩空间,直至Nuke或后期合成软件中的Bloom算法,逐层拆解发光材质与泛光效果之间的数学与工程关联。我们将从现象出发,经过原理推导,最终给出可验证的工程实践方案。

原理:Bloom的物理光学与图像处理双重视角
1. 光学现象的本质:点扩散函数与眩光
在真实世界中,相机镜头并非理想的光学系统。当极亮光源(如太阳、灯泡)进入镜头时,光线会在镜头内部镜片表面、光圈叶片边缘发生散射(Scattering)与衍射(Diffraction),形成一种弥漫的亮晕。这种亮晕的数学描述,可以用点扩散函数(PSF, Point Spread Function)来刻画:一个理想点光源经过光学系统后,不再是一个点,而是一个能量分布函数。Bloom效果的本质,就是在数字图像中模拟这种PSF的宽尾分布。
更具体地说,人眼视觉系统(HVS)中的光感受器之间也存在电信号扩散,使得高亮度区域在感知上会“侵占”相邻暗区。因此,Bloom不仅是相机物理现象,也是人类视觉的生理现象。在后期合成中,我们实际上是在用算法同时讨好物理真实与视觉感知。
2. 数字Bloom的算法模型:阈值提取与多级模糊
现代后期软件(如Nuke的Glow节点、After Effects的Glow、Unreal Engine的Bloom)普遍采用一种基于多级高斯模糊(Multi-pass Gaussian Blur)的近似算法。其核心步骤可抽象为:
- 亮度阈值提取(Thresholding):将图像转换到线性亮度空间,仅保留亮度超过某一阈值(Threshold)的像素,形成“亮部掩膜”。
- 降采样与模糊(Downsample & Blur):对亮部掩膜进行多次降采样(通常为1/2、1/4、1/8…),并在每一级应用高斯模糊。降采样的目的是以极低成本模拟大半径模糊,因为直接在原分辨率上做大半径高斯模糊的计算复杂度是O(n²)。
- 上采样与合成(Upsample & Composite):将各级模糊结果上采样回原分辨率,并按权重叠加,最后与原图相加(Add)或屏幕(Screen)混合。
这一算法模型的关键在于:Bloom的“半径”实际上由降采样的级数和各级模糊半径共同决定。单纯增大某一级模糊半径会导致光晕出现方形块状伪影(因为高斯核在离散网格上的近似误差),而多级叠加则能以对数复杂度逼近大半径高斯模糊。
3. Maya与Arnold中的发光材质:从Shader到AOV
在Maya中,发光材质通常通过aiStandardSurface的Emission通道或aiMeshLight实现。但关键认知在于:Arnold渲染器本身并不直接产生Bloom效果。Arnold输出的是线性高动态范围(HDR)图像,其中亮度值可以远超1.0(在浮点格式下)。Bloom是后期合成阶段对HDR图像进行阈值提取与模糊的结果。
因此,正确的工程流程是:在Maya中通过Arnold渲染出包含Emission信息的Beauty AOV或独立的Emission AOV,并以EXR(32位浮点)格式保存。若直接渲染为8位整数格式(如JPEG、PNG),高亮区域会被截断至1.0,Bloom将失去物理依据——因为阈值提取时所有高光像素都等于1.0,无法区分“较亮”与“极亮”,导致泛光均匀而缺乏层次。

推导:从线性HDR到Bloom的数学链路
1. 亮度阈值与色彩空间的关系
假设我们有一张线性EXR图像,像素亮度值L(Luminance)由RGB通道加权计算:
L = 0.2126 * R + 0.7152 * G + 0.0722 * B
这是Rec.709标准的亮度公式。Bloom的阈值提取通常基于L进行。若在非线性空间(如sRGB)中做阈值提取,则亮度值已被伽马编码压缩,导致相同阈值下提取的亮部区域与线性空间不一致。因此,Bloom必须在场景线性空间或至少在线性化后的空间中进行。这是许多初学者在Maya中渲染后直接导入后期软件(未做色彩空间转换)导致泛光效果“发灰”或“过曝”的根本原因。
2. 多级模糊的权重分配与能量守恒
在Nuke的Glow节点中,有一个“Bloom”模式,其内部实现正是多级模糊。每一级模糊结果在合成时有一个权重系数,通常随级数递减(如1.0, 0.5, 0.25…)。这相当于在频域中构建一个带通滤波器组:低频(大半径模糊)贡献宽而弱的辉光,高频(小半径模糊)贡献窄而强的核心光晕。
能量守恒在此处是一个重要但常被忽略的原则:Bloom的叠加不应使图像总能量(亮度积分)无限制增长,否则会导致画面整体过曝。专业后期软件通常提供“Mix”或“Intensity”参数来缩放Bloom贡献,同时配合“Saturation”参数控制光晕色彩饱和度——因为物理上,高亮光源的散射光会趋向于白色(人眼在高亮度下失去色彩分辨),所以Bloom饱和度应随亮度增加而降低。
3. Maya渲染设置中的关键参数:采样与AOV
为了给后期Bloom提供干净的数据源,Arnold渲染设置中需注意:
- 采样值(AA Samples):发光材质通常面积小但亮度高,若采样不足,Emission AOV中会出现噪点,经过Bloom模糊后噪点会被放大为“脏”的光晕。建议对发光区域使用自适应采样(Adaptive Sampling)并适当提高最大采样值。
- Clamp值:Arnold的Clamp参数用于限制间接光贡献,但切勿对Emission AOV进行Clamp,否则会截断高亮数据,导致Bloom失去动态范围。正确做法是仅对Diffuse、Specular等AOV做Clamp,保留Emission的原始HDR值。
- Filter(过滤器):渲染时的像素过滤器(如Blackman-Harris)会影响高亮像素的邻域分布,进而影响Bloom的初始掩膜。建议使用宽过滤器(如Gaussian)以获得更平滑的亮部过渡,但需注意可能引入轻微模糊。
验证:工程实践与参数对照
1. 从Maya到Nuke的完整数据流
以下是一个可复现的工程流程:
- 在Maya中为发光材质创建aiStandardSurface,将Emission Color设置为目标颜色,Emission Weight设为大于1的值(如5.0),以产生超亮像素。
- 在Render Settings中启用Emission AOV(若使用Arnold 5以上版本,可直接添加
emissionAOV)。 - 输出格式选择EXR(32-bit float),色彩空间设置为Linear sRGB或ACEScg(根据项目色彩管理)。
- 在Nuke中读取EXR,使用Glow节点,设置
input为Emission AOV,threshold设为1.0(因为线性空间中1.0为白点),size控制模糊半径,intensity控制强度。 - 将Glow结果与原Beauty AOV通过Merge(Plus)叠加,注意使用Clamp节点防止最终输出超过显示范围。
2. 参数对照表:不同阈值与半径对视觉的影响
| 参数组合 | 亮度阈值 | 模糊半径(像素) | 视觉表现 | 适用场景 |
|---|---|---|---|---|
| A | 0.8 | 50 | 大面积柔光,亮部细节丢失 | 梦幻氛围、柔光滤镜 |
| B | 1.5 | 20 | 紧凑光晕,高光核心清晰 | 霓虹灯、硬表面反射 |
| C | 2.5 | 100 | 仅极亮区域产生光晕,对比强烈 | 科幻武器、魔法特效 |
| D | 1.0 | 30 | 均衡,保留层次 | 通用影视镜头 |
注意:阈值单位依赖于图像亮度尺度。若使用ACEScg色彩空间,中灰为0.18,白点约为1.0(但高光可远超1.0),阈值需相应调整。
技巧提示:在Nuke中,可配合Erode(腐蚀)节点对亮部掩膜进行预处理,以控制光晕的起始位置。例如,对掩膜先做轻微Erode,可使Bloom从发光体边缘内侧开始,避免光晕“包裹”整个物体导致体积感丧失。
3. 常见问题与排查
- 光晕出现色带(Banding):通常是因为在8位空间做模糊。解决方案:确保全程使用32位浮点,并在最终输出时添加Dither(抖动)。
- 光晕形状呈方形:高斯模糊在边界处处理不当。检查后期软件是否使用“Black Outside”或“Repeat”边界模式,建议使用“Mirror”或扩展边缘。
- 发光材质在渲染中不可见:检查Arnold的“Opaque”属性是否关闭(发光材质应设为非不透明),以及Emission Weight是否大于0。

总结:Bloom是光学、算法与色彩管理的交汇点
Maya发光材质的Bloom效果,绝非一个简单的后期滤镜。它是一条从物理光学(PSF)到图像处理(多级模糊),再到色彩管理(线性空间)的完整技术链路。理解这条链路,意味着你能在项目中有依据地决策:何时该用大半径低阈值营造氛围,何时该用小半径高阈值强化细节;也意味着你能快速诊断光晕“脏”、“断”、“假”的根源,而不是盲目更换参数。
在火星人教育的MAYA三维动画与NUKE影视后期课程中,我们始终强调这种原理驱动的学习路径。只有掌握了底层机制,你才能在面对不同渲染器(Arnold、Redshift、UE5)和不同合成软件时,灵活迁移知识,而不是死记硬背参数。技术会迭代,但光学与算法的基础原理不会。
关于火星人教育:创办24年来,火星人教育专注数字艺术与AIGC实战职业技能培训,开设课程包括AI漫剧创作、AIGC视觉设计、UE5游戏特效、室内全屋定制、MAYA三维动画、C4D动态设计、工业设计、NUKE影视后期、摄影摄像实训。北京、深圳双校区开设线下面授班,面向美术生、在校大学生及意向转行的职场人群,以项目化实训教学,夯实专业技能,助力就业与职业提升。咨询电话:010-65918670。








评论(0)