为什么你的大气雾总是“雾蒙蒙一片”而不是“空气感十足”?
很多学员在UE5里调大气雾(Atmospheric Fog),第一步就错了——他们把它当成一个“全局浓度滑条”来用,结果要么场景像隔了层毛玻璃,要么太阳一照就过曝成白屏。大气雾本质是一个参与介质(Participating Media)的实时近似,它同时承担了瑞利散射(Rayleigh Scattering)、米氏散射(Mie Scattering)和吸收(Absorption)三重角色。你看到的“雾”,其实是光线在介质中多次散射后被相机接收的积分结果。不理解这个,你调的不是雾,是寂寞。
这篇教程,我不讲菜单在哪,只讲10个能让你立刻拉开差距的进阶技巧。每一条都独立成立,但组合起来,你的环境氛围会从“能看”直接跳到“电影级”。

技巧一:用“散射颜色”反向推导大气厚度,而不是凭感觉调密度
核心:散射颜色(Scattering Color)不是颜色,是介质对RGB三通道的散射系数比值。
为什么有用?因为瑞利散射的强度与波长四次方成反比,蓝光散射远强于红光。UE5的大气雾默认散射颜色偏蓝,就是在模拟这个物理事实。但很多人把它当“雾的颜色”随便改,结果物理上完全说不通。
怎么操作:如果你想要地球大气,散射颜色保持在(0.18, 0.32, 0.55)附近;想要火星大气,把红色通道拉高、蓝色压低,因为火星大气稀薄且富含尘埃,米氏散射主导。密度(Density)的调整要配合高度衰减(Height Falloff)一起看——密度决定“多浓”,高度衰减决定“多快变稀”。
记住一个判断标准:如果地平线附近的雾比天顶浓3倍以上,说明高度衰减太大了,真实大气在几公里尺度上不会这么陡。
效果展示:散射颜色调对后,日落时天空会自然从蓝过渡到橙红,而不是整体染成一种颜色。
技巧二:高度衰减不是“雾的高度”,是e-fold高度
核心:Height Falloff的单位是1/cm,它描述的是密度衰减到1/e(约37%)所需的高度倒数。
为什么有用?因为很多人把高度衰减理解成“雾层厚度”,然后设一个绝对值,结果雾要么贴地不动,要么均匀到天顶。实际上,UE5的指数高度雾模型是:密度(h) = 密度(0) × exp(-高度衰减 × h)。
怎么操作:地球大气的e-fold高度约8.5km。在UE5里,如果你场景比例是1单位=1cm,那8.5km=850000单位,高度衰减就是1/850000≈0.0000012。但游戏场景通常缩小比例,所以你需要按场景比例换算,而不是直接填0.0000012。
| 场景比例 | 真实e-fold高度 | UE5高度衰减值 |
|---|---|---|
| 1单位=1cm | 8500m | 0.0000012 |
| 1单位=1m | 8500m | 0.00012 |
| 1单位=10cm | 8500m | 0.000012 |
效果展示:高度衰减算对后,从地面到高空的雾密度过渡会非常平滑,不会出现“一刀切”的雾墙。
技巧三:用“起始距离”做艺术控制,而不是物理模拟
核心:Start Distance(起始距离)让大气雾在相机附近不生效,这是艺术作弊,不是物理。
为什么有用?因为真实大气从相机前1cm就开始散射,但在游戏里,相机附近的雾会糊住角色和近景,导致画面脏。起始距离就是让你把“近处雾”砍掉,只保留中远景的大气感。
怎么操作:第三人称游戏通常设200-500单位;第一人称可以设50-100;影视渲染如果追求全物理正确,设0。但注意,起始距离过大会导致近景和远景之间出现“雾的断层”,需要配合雾密度微调来掩盖。
起始距离是“艺术优先”的参数,别拿物理正确性来抬杠。观众不会拿光谱仪看你的雾,但一定会觉得近景糊了很难受。
效果展示:起始距离调好后,角色皮肤和金属反光保持锐利,背景山峦却有空气透视,层次感立刻出来。
技巧四:太阳光角度决定雾的“情绪”,不是亮度
核心:Directional Light的Pitch角控制的是散射相位,不是照明强度。
为什么有用?因为大气雾的亮度极大依赖太阳角度。太阳越低,光线穿过大气的路径越长,瑞利散射越充分,雾就越亮越暖。很多人调雾只调密度,不调太阳角度,结果永远做不出“黄金时刻”。
怎么操作:想要清晨/黄昏的暖雾,把太阳Pitch设在-1°到5°之间,同时把太阳照度(Intensity)降到2-5 lux,让大气散射成为主要光源。想要正午的硬朗感,Pitch设60°以上,照度拉到100000 lux,雾的散射会被太阳直射压制,变得稀薄透明。
效果展示:太阳Pitch从-1°慢慢升到30°,你会看到雾从橙红暖调逐渐变成青白冷调,天空从霞光变成湛蓝,完全不需要改雾的参数。

技巧五:Mie散射各向异性(Anisotropy)是“太阳光晕”的开关
核心:Mie Anisotropy控制散射的方向性,正值让光更多向前散射,产生太阳周围的光晕。
为什么有用?因为瑞利散射近似各向同性,而米氏散射(由气溶胶、尘埃、水滴引起)是强烈前向散射的。UE5里Mie Anisotropy默认0.8,就是在模拟这个。如果你把它调到0,太阳周围的光晕会消失,雾变得非常“平”。
怎么操作:想要明显的太阳光晕和“耶稣光”感,Anisotropy设0.8-0.95;想要阴天均匀的雾,设0.3-0.5;想要逆光时雾特别亮、顺光时雾暗,设0.9以上。注意,Anisotropy太高会导致太阳周围出现硬边光斑,需要配合Mie散射颜色柔化。
Mie Anisotropy和Directional Light的光源角度衰减(Source Angle)要一起调。Source Angle越大,太阳越“软”,光晕越弥散。
效果展示:Anisotropy从0.8拉到0.95,太阳周围会出现一圈明显的辉光,整个场景的“空气感”瞬间提升一个档次。
技巧六:用“雾密度”和“散射颜色”做体积光,而不是靠Volumetric Fog
核心:大气雾本身不产生体积光,但它的散射属性会与Directional Light的光轴(Light Shaft)交互。
为什么有用?因为很多人一想要体积光就开Volumetric Fog,结果性能暴跌。其实大气雾配合Directional Light的Light Shaft Occlusion和Light Shaft Bloom,就能做出廉价的体积光效果,性能开销几乎为零。
怎么操作:在Directional Light里勾选Light Shaft Occlusion和Light Shaft Bloom,然后把大气雾的密度设到0.02-0.05,散射颜色偏蓝,太阳Pitch调低。此时光线穿过雾时会被散射,形成从太阳方向射出的光柱。再配合Bloom的强度0.5-1.0,光柱会非常明显。
效果展示:森林场景里,太阳从树缝射入,大气雾让光柱可见,但GPU开销只增加了不到0.5ms。
技巧七:天空大气(Sky Atmosphere)和大气雾的“分工”要明确
核心:Sky Atmosphere负责行星尺度的天空颜色和太阳光晕,Atmospheric Fog负责近地表的空气透视。
为什么有用?因为很多人把两个系统混着调,结果天空颜色被雾覆盖,或者雾的颜色被天空污染。正确的做法是:Sky Atmosphere的Rayleigh Scattering Scale控制天空蓝度,Mie Scattering Scale控制太阳周围的光晕;Atmospheric Fog控制地面到中景的雾感。
怎么操作:Sky Atmosphere的Rayleigh Scale设1.0-2.0,Mie Scale设0.5-1.0;Atmospheric Fog的密度设0.01-0.03,高度衰减按场景比例算。如果天空太蓝,降Rayleigh Scale;如果太阳光晕太强,降Mie Scale。大气雾的散射颜色要和Sky Atmosphere的瑞利颜色协调,否则地平线会出现颜色断层。
| 参数 | Sky Atmosphere | Atmospheric Fog |
|---|---|---|
| 作用范围 | 行星尺度 | 近地表 |
| 主要控制 | 天空颜色、太阳光晕 | 空气透视、雾感 |
| 关键参数 | Rayleigh/Mie Scale | Density/Height Falloff |
| 性能开销 | 中 | 低 |
效果展示:两者分工明确后,天空有正确的蓝色渐变和太阳光晕,地面有正确的空气透视,互不干扰。
技巧八:用“雾密度”做LOD过渡,掩盖远处物体弹出
核心:大气雾是天然的LOD过渡工具,密度越高,远处物体越早被雾吞没。
为什么有用?因为开放世界游戏里,远处物体的LOD切换或剔除会导致“弹出(Pop-in)”。大气雾可以让远处物体在弹出前就被雾逐渐遮住,玩家几乎察觉不到。
怎么操作:根据你的LOD距离,反推雾密度。假设LOD距离是5000单位,你希望物体在4500单位时被雾遮住80%,那密度就要设到让雾在4500单位处达到0.8不透明度。公式是:不透明度 = 1 – exp(-密度 × 距离)。代入0.8 = 1 – exp(-密度 × 4500),解得密度≈0.00036。然后微调高度衰减,让雾在垂直方向也有变化。
别把雾密度设得太高,否则近景也会被糊住。LOD过渡用的雾,起始距离要设大一点,只影响远处。
效果展示:远处山峦的LOD切换完全被雾掩盖,玩家只看到山峦在雾中若隐若现,沉浸感大幅提升。

技巧九:大气雾的“颜色”要随相机高度变化,而不是固定值
核心:用蓝图或材质参数集,让大气雾的散射颜色随相机Z轴高度动态变化。
为什么有用?因为真实大气中,相机越高,穿过的雾层越薄,散射颜色会偏蓝(瑞利散射主导);相机越低,雾层越厚,颜色会偏灰白(米氏散射主导)。固定颜色会让高空和地面的雾感不真实。
怎么操作:创建一个材质参数集(Material Parameter Collection),暴露散射颜色和密度。在关卡蓝图中,每帧获取相机Z坐标,用Lerp节点在“地面颜色”和“高空颜色”之间插值。地面颜色偏暖灰(0.5, 0.5, 0.5),高空颜色偏蓝(0.3, 0.4, 0.6)。高度范围0-5000单位,超过5000就用高空颜色。
效果展示:相机从地面升到高空时,雾的颜色从灰白平滑过渡到淡蓝,天空和地面的衔接非常自然。
技巧十:用“雾密度”做天气系统,而不是换材质
核心:大气雾的密度和散射颜色是动态天气系统最廉价的实现方式。
为什么有用?因为很多学员做天气系统时,喜欢用后处理材质或粒子来模拟雾,性能差且不自然。大气雾本身就支持动态修改,而且和光照、天空完全集成。
怎么操作:在蓝图里用时间轴(Timeline)或曲线(Curve)驱动雾密度和散射颜色。晴天:密度0.005,颜色偏蓝;阴天:密度0.02,颜色偏灰;雨天:密度0.05,颜色偏深灰;沙尘暴:密度0.1,颜色偏橙。配合Directional Light的照度和Sky Atmosphere的Mie Scale,一套天气系统就出来了。
效果展示:从晴天到雨天,雾密度在3秒内平滑过渡,天空变暗,太阳光晕消失,雨滴粒子落下,整个氛围一气呵成。
总结:大气雾不是“加雾”,是“加空气”
这10个技巧的核心思想只有一个:大气雾模拟的是空气本身的光学行为,而不是一层“雾”。你调的不是浓度,是空气的散射系数、吸收系数和高度分布。一旦你从这个角度理解,所有参数都会变得有物理意义,你的环境氛围也会从“能看”变成“可信”。
如果你想把UE5的环境氛围做到影视级,光靠看教程是不够的。火星人教育创办24年来,一直专注数字艺术与AIGC实战职业技能培训,开设课程包括AI漫剧创作、AIGC视觉设计、UE5游戏特效、室内全屋定制、MAYA三维动画、C4D动态设计、工业设计、NUKE影视后期、摄影摄像实训。北京、深圳双校区开设线下面授班,面向美术生、在校大学生及意向转行的职场人群,以项目化实训教学,夯实专业技能,助力就业与职业提升。咨询电话:010-65918670。








评论(0)