高度雾
概述
本文档覆盖了高度雾及其应用相关的内容。这里假设你已经设立了一个关卡并想在其中添加高度雾。
关于设立关卡的更多信息,请参照创建关卡页面。
版本
在QA_APPROVED_BUILD_JUNE_2007版本中,添加了高度雾的一个层的版本。在那之前,一般使用4个层的版本,并且使用低于4个层版本对性能并没有提高。
使用高度雾
在通用浏览器的 Actor 标签中,选择 HeightFog(高度雾) Actor,它位于 Info 的下面。在世界中右击鼠标并选择 Add HeightFog Here(在此处添加高度雾) 。通过或者双击那个Actor或者通过右击新放置的Actors并选择 Properties(属性) 项来打开高度雾的属性。
放置HeightFog(高度雾)的位置决定了高度雾的高度。
高度雾属性
在 Height Fog(高度雾) 部分,您可以编辑和组件相关的以下属性:
- Density(密度) -影响雾层的厚度的比例值。
- Extinction Distance(消光距离) -当光源穿过雾多远的距离时,光源100%地消失。
- Light Brightness(光源亮度) -影响内散射颜色。
- Light Color(光源颜色) -和场景混合的雾的颜色。
- Start Distance(开始距离) -雾从哪个距离开始影响场景。
带动画的高度雾
要使高度雾进行动画,可以使用Matinee来使HeightFog(高空雾) Actor的值进行动画。要想获得更多的信息,请参照Unreal Matinee 用户指南?页面。
颜色
通过在Matinee中使用Color Property Track(颜色属性轨迹)便可以使得高空雾的颜色在运行时进行变化。这里是如何设置高度雾在游戏中改变颜色的步骤:
- 创建HeightFog (高度雾)Actor。
- 在Matinee中创建一个组,并把那个Actor附加到它的上面。
- 在上面的组中创建一个颜色属性轨迹。
- 应该会出现一个对话框让您选择您想对那个颜色进行插值。应该只有一个选项供您选择,因为HeightFog (高度雾)Actor仅有一个属性即颜色。
- 一旦设置了那个轨迹,您可以放置关键帧并使用关联菜单(右击)或曲线编辑器指南来设置每帧的颜色。
和透明物体的交互作用
当主要的雾经过透明物体时,将不能处理透明物体,所以它是一个特殊情况。在透明物体上的雾是基于每个顶点进行计算的,这意味着透明网格物体需要被适当地进行细分来获得正确的效果。雾也不能出现在使用可调节混合的材质,除非它们是decal材质。
性能影响
高度雾使用混合到场景颜色上的全屏幕进行渲染。有一个层的版本和4个层的版本。这些是基于关卡中存在的HeightFog(高度雾)Actor的数量进行应用的,所以如果仅有一个actor,那么将使用一个层的版本。因为描画4个层的版本所需的时间是一个层的版本的2倍,所以如果可能就仅使用一个HeightFog Actor。通过设置Start Distance(开始距离)也可以获得较小的性能提升。
测定体积雾
使用雾体积来获得局部化的雾效果。这个功能也可以通过使用不带光照的半透明物质和特殊材质进伪造。请参照测定体积的关照指南页面获得关于设置测定体积的光束的更多信息。
指数型高度雾
5月份的QA版本有了一种新的全局高度雾类型,称为指数型高度雾。您可以像放置正常的高度雾actor(可以在'Actor Classes' -> 'Info'下找到)那样把指数型高度雾放置到关卡中,但是它们的渲染行为是不同的。Exponential Height Fog地图中较低的地方创建较大密度的雾,在较高的地方创建较低密度的雾。雾的密度变化是平滑的,永远不会像现有的常量密度的高度无那样出现明显的分界。指数型高度雾也提供了两种雾颜色,一种颜色用于面向主要定向光源(如果不存在景则径直向上)的半球体,另一种颜色用于相反方向的半球体。
这里是具有现有常量密度高度雾和指数型高度雾的VCTF-Necropolis,面向光源的半球和其背面使用了不同的颜色。
性能
指数型高度雾的渲染消耗和具有一个次额外优化的两层常量密度高度雾的性能消耗类似。
FogStartDistance可以用于人工地使得观察者前面的某些区域没有雾。这也可以帮助改进性能,因为z缓冲可以剔除像素。
以下显示了应用了这个处理的图片:
根据场景内容及使用远处雾起始距离的时机的不同,性能消耗可能是50%或者更少。
这个优化通过使用具有z值和启用了深度测试的全屏方块实现。
以下两个控制台变量可以覆盖编辑器设置: FogStartDistance, FogDensity。
它们对于测试现有关卡和找到较好的起始距离是很有帮助的。使用?作为参数可以获得更多的帮助信息。
Important!
You are viewing documentation for the Unreal Development Kit (UDK).
If you are looking for the Unreal Engine 4 documentation, please visit the Unreal Engine 4 Documentation site.