一、项目缘起:一个“天空发灰”的需求
去年秋天,我接手了一个虚拟制片项目——为某汽车品牌打造一支全CG广告片,场景设定在黄昏时分的峡谷公路。客户给的参考图是罗杰·迪金斯那种低照度、高动态、空气里飘着尘埃颗粒的电影感画面。团队里年轻的特效师拍胸脯说“UE5大气雾一键出片”,结果第一版提交上去,客户只回了一句话:“天空像一块脏抹布。”
这就是我们这次要聊的核心:UE5的Atmospheric Fog(大气雾)——它看起来参数不多,但每一个都牵一发动全身,直接决定天空的物理可信度。这篇文章我会把整个项目的技术选型、踩坑记录和最终方案完整复盘一遍,不讲虚的,全是现场血泪。

二、技术选型:为什么不用传统高度雾?
项目初期我们面临一个分叉:用传统的Exponential Height Fog(指数高度雾)还是UE5新推的Atmospheric Fog?前者是UE4时代的老兵,参数直观,性能友好;后者基于物理散射模型,能跟Sky Atmosphere(天空大气)联动,产生真实的大气透视和光晕。
我的判断很明确:只要你的镜头里有天空、有远景、有太阳直射光,就必须上Atmospheric Fog。原因在于底层机制——指数高度雾只是一个基于高度的密度衰减函数,它不参与光照散射计算;而大气雾内部走的是Rayleigh和Mie散射的近似积分,每个像素会沿视线方向对大气密度做数值积分,所以远处的山会自然“化”进天空里,而不是像贴了一层灰膜。
但代价也很直接:Atmospheric Fog的渲染开销比高度雾高一个量级,尤其在半透明材质(比如广告片里的车窗玻璃)叠加时,容易出现散射计算翻倍。我们最终在项目里采用了混合策略:主镜头用Atmospheric Fog,车内特写切回高度雾,靠后期匹配色调。
技巧:Atmospheric Fog的“Start Distance”参数是性能阀门。把起始距离设到相机前方2000单位以外,可以跳过近景的散射积分,肉眼几乎看不出差异,但GPU时间能省15%左右。
三、踩坑实录:天空为什么像脏抹布?
回到那个“脏抹布”问题。当时我们的参数是这样的:Aerial Perspective LUT开到了2048,但Sky Atmosphere的Rayleigh散射系数用的是默认值,Mie散射各向异性(Mie Anisotropy)设成了0.8。问题出在两点:
- Mie散射方向性太强:0.8意味着雾滴强烈地前向散射,太阳附近的雾被“点亮”成一团白,而背光面死黑,整体对比度失衡,天空就显脏。
- LUT分辨率与场景尺度不匹配:峡谷场景的纵深超过50公里,2048的LUT在远距离采样时出现带状色阶,天空渐变断裂。
解决方案是反直觉的:我们把Mie Anisotropy降到0.6,同时把Aerial Perspective LUT的分辨率提到4096,并开启“Render Atmospheric Fog in Sky”选项让雾和天空共用同一套散射积分。这一套组合拳下去,天空立刻从“抹布”变成了“绸缎”——远山的轮廓被一层极淡的暖雾包裹,太阳周围的光晕有了物理正确的衰减。

这里展开讲一下Aerial Perspective LUT的机制:它本质上是一张3D查找表,在相机视锥的远、中、近三个深度切片上预计算大气散射颜色,运行时像素着色器只做三线性插值。分辨率不够时,插值就会“糊”掉高频的散射变化,表现为色带。所以大场景千万别抠这个参数。
四、参数调优:一张表说清关键旋钮
项目中期我们沉淀了一份参数对照表,这里直接放出来,都是实测有效的区间值:
| 参数 | 作用 | 推荐区间 | 踩坑备注 |
|---|---|---|---|
| Mie Scattering Scale | 雾滴散射强度 | 0.5~1.5 | 超过2.0天空发白,失去层次 |
| Mie Anisotropy | 前向散射方向性 | 0.4~0.7 | 0.8以上太阳周围过曝 |
| Rayleigh Scattering Scale | 空气分子散射(蓝天成因) | 1.0~2.0 | 调低会失去天空的蓝色渐变 |
| Aerial Perspective LUT | 远景散射预计算精度 | 2048~4096 | 大场景必须4096 |
| Start Distance | 散射积分起始距离 | 1000~3000 | 性能阀门,近景可跳过 |
特别提醒:Rayleigh Scattering Scale是很多人忽略的“蓝天开关”。它控制的是空气分子对短波蓝光的散射强度,正是它让天空呈现从地平线到天顶的渐变。如果你把它调到0,天空会变成均匀的灰白色——这就是很多新手觉得“大气雾没效果”的真正原因。
五、交付时刻:体积光与雾的化学反应
最终成片里有一组峡谷逆光镜头,太阳从岩壁缝隙里打进来,空气中有明显的体积光(Volumetric Light)光柱。这里的关键是让Atmospheric Fog和Volumetric Fog协同工作:大气雾负责远景的空气透视,体积雾负责近景的光柱散射,两者通过“Fog Density”的梯度衔接。
我们的做法是在体积雾的散射分布(Scattering Distribution)里给一个轻微的前向偏置(约0.3),让光柱在太阳方向更亮,同时用Atmospheric Fog的Mie散射补足远景的柔光。客户看到这版的时候说了一句“有那味儿了”,那一刻我知道这个项目成了。

六、复盘总结:我的三条铁律
项目收尾时我给自己总结了三条经验,也送给正在读这篇文章的你:
- 大气雾不是调色工具,是物理模拟:所有参数都要回到散射模型去理解,别靠试错。
- LUT分辨率是隐形的画质杀手:大场景直接拉满4096,省什么别省这里。
- 混合策略是工程智慧:没有一种雾能通吃所有镜头,该切就切,后期兜底。
UE5的大气雾体系是近几代引擎里最被低估的模块之一,它把大气物理学的近似模型做成了实时可调的参数,但前提是你得懂它背后的Rayleigh-Mie散射逻辑。这也是我在火星人教育教学时反复强调的:工具越智能,越需要原理托底。
关于火星人教育
火星人教育创办24年来,一直专注数字艺术与AIGC实战职业技能培训。像本文这种从项目实战反推原理的教学方式,正是我们课程设计的底层逻辑。我们开设的课程覆盖AI漫剧创作、AIGC视觉设计、UE5游戏特效、室内全屋定制、MAYA三维动画、C4D动态设计、工业设计、NUKE影视后期、摄影摄像实训等方向,北京、深圳双校区开设线下面授班,面向美术生、在校大学生及意向转行的职场人群,以项目化实训教学夯实专业技能,助力就业与职业提升。如果你也想做出电影级的大气效果,欢迎来电交流:010-65918670。








评论(0)