指数型高度雾用户指南

本页面的内容:

本文档介绍了高度雾及其应用相关的内容。这里假设你已经创建了一个关卡并想添加高度雾。

Exponential Height Fog(指数型高度雾)在地图中较低的地方产生密度较大的雾,在较高的地方产生密度较小的雾。随着您增加高度,雾会进行平滑的转变,您不会看到明显的切换效果。指数型高度雾也提供了两种雾颜色,一种颜色用于面向主要定向光源(如果不存在景则径直向上)的半球体,另一种颜色用于相反方向的半球体。

ExponHeightFog.png

应用指数型高度雾

在类别查看器中,选择位于 Fog(雾) 下的 Exponential Height Fog(指数型高度雾) Actor, 在世界中右击鼠标,并选择 Add HeightFog Here(在此处添加高度雾)

调整Exponential Height Fog Actor 的位置将决定了高度雾的高度。

指数型高度雾属性

Height Fog(高度雾) 部分,您可以编辑和该组件相关的以下属性:

属性 描述
Fog Density(雾密度) 这是全局密度因数,可以把它想象成为雾层的厚度。
Fog Inscattering Color(雾内散射颜色) 设置雾的内散射颜色。从本质上讲,这是雾的主要颜色。
Fog Height Falloff(雾高度衰减) 高度密度因数,控制随着高度降低密度如何增加。值越小,转变就越大。
Fog Max Opacity(雾最大不透明度) 该项控制雾的最大不透明度。值为1,则表示雾是完全不透明的;值为0则表示雾实际上是不可见的。
Start Distance(起始距离) 这是距离相机多远处开始呈现雾的距离。
Directional Inscattering Exponent(定向内散射指数) 控制定向内散射锥体大小,这用于大致描述定向光的内散射。
Directional Inscattering Start Distance(定向内散射起始距离) 控制到定向内散射查看者的起始距离,这用于近似定向光的内散射。
Directional Inscattering Color(定向内散射颜色) 设置定向内散射的颜色,用于近似定向光源的内散射。这和调整定向光源的模拟颜色类似。
Visible(可见) 控制主要雾的可见性。
Actor Hidden in Game(游戏中隐藏的Actor) 是否在游戏中隐藏雾。
Editor Billboard Scale(编辑器广告牌比例) 在编辑器版本中给任何广告牌组件应用的比例。

使指数型高度雾产生动画

要使高度雾进行动画,可以使用Matinee来使HeightFog(高空雾) Actor的值产生动画。要想获得更多的信息,请参照Matinee用户指南 页面。

您可以直接在关卡蓝图中使得指数型高度雾产生动画,这通过使用时间轴或者节点网络来驱动雾Actor的功能和属性来完成。

现在,通过在Matinee中使用Linear Color Property Track(线性颜色属性轨迹)便可以使得高空雾的颜色在运行时进行变化。这里是如何设置高度雾在游戏中改变颜色的步骤:

  1. 创建一个Matinee Actor,并使用编辑器工具条中的Matinee按钮打开它。

  2. 创建HeightFog (高度雾)Actor。

  3. 在Matinee中创建一个组,并把那个Actor附加到它的上面。

  4. 在上面的组中创建一个颜色属性轨迹。

  5. 应该会出现一个对话框让您选择您想对哪个进行插值。仅有两个选项: FogInscatteringColor 和DirectionalInscatteringColor。

  6. 一旦创建了这条轨迹,您可以放置关键帧并使用关联菜单(右击)或[[CurveEditor][曲线编辑器]]来设置每帧的颜色。

性能

指数型高度雾的渲染消耗和具有一个次额外优化的两层常量密度高度雾的性能消耗类似。

!FogStartDistance可以用于人工地使得观察者前面的某个特定区域没有雾。这也可以帮助改进性能,因为z缓冲可以剔除像素。

以下显示了应用了这个处理的图片:

FogStart_0.png FogStart_1000.png FogStart_1000_high.png
雾起始距离 = 0 雾起始距离 = 1000 雾起始距离 = 1000,并具有一个较大的雾密度值

根据场景内容及使用远处雾起始距离的时机的不同,性能消耗可能是50%或者更少。 这个优化通过渲染一个全屏方块实现,该全屏方块具有z值并启用了深度测试。