Env fog controller/zh
< Env fog controller(Redirected from Env fog controller:zh-cn)
这个实体定义了整个地图的雾气效果。
提示:在多人游戏中,此实体可以向
player
(玩家)实体发送输入SetFogController
来修改每个客户端的雾气效果,最好是通过!activator
!在中, 多个 env_fog_controller
可以结合fog_volume
实体来创建不同区域实现不同雾气效果。 除此之外,如果不设置fog_volume
指定到任意一个env_fog_controller
上,或者未启用单个fog_volume
则可以设置标签/flags Master作为主要的全局雾气控制。
注意:在 中,这是一个保留实体(preserved entity)。
- 在新一轮中,它不会故意将自己重置为其默认属性(包括位置)。解决方案: 如果这是一个问题,你可以采用 logic_auto 实体模拟重置它。
- 通过
Kill
杀死它会永远移除它,因为它不会在新一轮重生。 - 它不能用 point_template 生成。
- 把这个实体与非保留实体绑定可能会导致不良影响。
向地图增加雾气可以导致/要求光照更加真实。光照穿过雾气的时候会散射和被吸收。雾气越浓,效果会越好:
- 光照衰减,是光线随着距离而衰减的率。 雾气越浓厚则衰减距离越小。
- 丁达尔效应 - 可以透过雾气粒子反射光效给玩家。 雾气越浓厚,光圈效果和光束则越明显。
- 漫反射光照 - 随着雾气的浓淡,光与影的边界将不明显。 详见 Lightmap Scale 和
shadow_control
的distance属性。
比较古老的起源游戏将雾渲染成离摄像机一定距离的平面。这种方法很糟糕,因为旋转视角会加强或减弱某个地方的明显雾量,即使玩家根本没有移动。在求生之路1中,V社通过实施一种与视角无关的新径向方法来解决的。
注意:3D Skybox的远景效果,其
sky_camera
相关雾气属性应该与env_fog_controller
一致。
待完善: This template is currently using deprecated
suf
or {{Lang}}-based translations. Please use the main {{Code class}} instead, which uses {{Autolang}}.
在源代码中,它由 class CFogController
代表,定义于 fogcontroller.cpp
。
Contents
标签/Flags
- 1: Master - 如果有多个
env_fog_controller
被弃用,此实体永远是优先的。
键值
- Fog Enabled
(fogenable)
<boolean>
| 布尔值 - 使雾实体启用。
- Fog Start
(fogstart)
<float>
| 浮点型 - 雾效果应该距离玩家视角多远开始出现。即雾开始的距离。
- Fog End
(fogend)
<float>
| 浮点型 - 距离玩家视角多远达到Fog Max Density(雾效果最大浓度)。即雾结束的距离,挂钩与最大浓度。
- Fog Max Density
(fogmaxdensity)
<float>
| 浮点型 - 雾效果能达到的最大浓度。以小数点表示百分比,如0.45代表45%。
- Far Z Clip Plane
(farz)
<integer>
| 整数 - 以世界距离为单位,超过多远的物体不渲染。这项应该比Fog End更高。如果启用了此项, Fog Max Density则应该设置为
1
,否则有可能看到空洞(地图外面的黑色效果) 。
- Primary Fog Color
(fogcolor)
<color255>
- 雾气的主要颜色。
- Secondary Fog Color
(fogcolor2)
<color255>
- 雾气的次要颜色。如果 Fog Blend 被禁用,则不会启用此颜色。
- Fog Blend
(fogblend)
<boolean>
| 布尔值 - 启用在Primary Fog Color 和 Secondary Fog Color之间的色彩混合。 当玩家注视着 Primary Fog Direction,则启用Primary颜色。 当远离这个特定位置,雾气启用 Secondary 颜色。如果即不是远离也不是注视, 则混合两种颜色。利用Primary Fog Direction 为 "-1 -1 1", Primary Fog Color 为 "120 110 100" 和Secondary Fog Color 为 "80 70 60"可以用来提升角度为Yaw 45度,Pitch -45度的太阳光。
- Primary Fog Direction
(fogdir)
<vector>
| 向量 - 向量(以空格分割XYZ), which the viewer camera is checked against to figure out the blend between the primary and secondary fog colors.
- Use Angles for Fog Dir
(use_angles)
<boolean>
| 布尔值 - 以Pitch Yaw Roll 设置 Fog Blend 方向而不是 Primary Fog Direction. 除非你想要方位旋转,否则没什么用。
- Interpolate time
(foglerptime)
<float>
| 浮点型 - 输入
StartFogTransition
的淡入时间。
- Zoom Fog Scale
(ZoomFogScale)
<float>
| 浮点型 (in all games since ) - 利用瞄准镜的时候,玩家起始雾和结束雾距离的标量。(e.g. AWP).
DXLevelChoice:
- 最低DX水平
(mindxlevel)
<choices>
- 如果引擎在给定的DirectX Versions 范围之外运行,该实体将不存在。从 求生之路开始,被SystemLevelChoice取代。
- 警告:如果使用这些,当用户切换他们的DirectX设置时,该对象可能会中断。
SystemLevelChoice:
- Minimum CPU Level (mincpulevel)
<choices>
(in all games since ) - CPU级别低于此级别的将不在游戏内呈现此对象,级别由视频设置内的效果细节决定。
注意:键值的名称是因为
cpu_level
命令;效果详细信息使用的命令。- Minimum GPU Level (mingpulevel)
<choices>
(in all games since ) - GPU级别低于此级别的将不在游戏内呈现此对象,级别由视频设置内的Shader细节决定。
注意:键值的名字是因为
gpu_level
命令; Shader Details 使用的命令。Base/基础:
- Parent
(parentname)
<targetname>
| 目标名 - 实体的父级实体,该实体可以与父实体保持移动偏移。名称后面可以添加一个附属点,以逗号隔开。 (
parentname [targetname],[attachment]
)提示:转换至下一张地图的实体关系会依然存在。提示:一些不适合做父实体的实体可能难以运行,利用phys_constraint
可以解决。
- Origin (X Y Z)
(origin)
<coordinates>
- 实体处于世界中的位置,旋转实体会以实体坐标原点旋转。注意:Hammer 不会仅在编辑器中相应地移动实体。
- Pitch Yaw Roll (X Y Z)
(angles)
<angle>
- 实体在世界中的方位,Pitch围绕X轴旋转,可以称为俯仰角。Yaw围绕Z轴旋转,可以称为偏航角,roll围绕Y轴旋转。注意:尽管 Hammer 不显示新角度,但其仍然适用于固实体。
- Classname
(classname)
<string
> | 字符串 不存在于FGD! - 确定实体之前它生成的特征。提示:使用
AddOutput
输入更改 Classname 仍然会影响游戏的代码,例如使类名与 S_PreserveEnts 列表中的一个元素匹配将使实体在新一轮中持续存在!
- Entity Scripts
(vscripts)
<scriptlist>
| 脚本列表 (存在于自 以来) - 在所有实体生成后执行的 VScript 文件(无文件扩展名)的空格分隔列表。这些脚本都在同一个脚本范围内执行,以后的脚本会覆盖任何相同的变量和函数。
- Thinker Function
(thinkfunction)
<string
> | 字符串 (存在于自 以来) - 此实体脚本中的函数名称,该函数将在脚本持续时间内每 100 毫秒(每秒 10 次)自动调用一次。它可用于创建计时器或模拟自主行为。返回值(如果存在)将设置下一次调用之前的时间。尽量避免在此函数中进行昂贵的操作,因为它可能会导致性能问题。
- Lag Compensation
(LagCompensate)
<boolean>
| 布尔值 (存在于自 以来) 不存在于FGD! - 设置为是以延迟补偿此实体。应该非常谨慎地使用!
输入
TurnOn
- 开启.
TurnOff
- 关闭.
SetStartDist
<float>
| 浮点型- 设置 Fog Start距离
SetEndDist
<float>
| 浮点型- 设置 Fog End 距离
SetColor
<color255>
- 设置 Primary Fog Color的颜色
SetColorSecondary
<color255>
- 设置 Secondary Fog Color的颜色
SetFarZ
<integer>
| 整数- 设置 Far Z Clip Plane距离.
SetAngles
<angles>
- 设置 Primary Fog Direction角度.
Set2DSkyboxFogFactor
<float>
| 浮点型 (存在于自 l4d2 以来)- 把当前雾气的量混合到2D skybox,表示为小数百分比,45%请使用0.45 only.
SetZoomFogScale
<float>
| 浮点型 (in all games since )- 设置 Zoom Fog Scale.
SetColorLerpTo
<color255>
(存在于自 以来)- 储存一个Primary Fog Color的颜色值,在
StartFogTransition
输入时触发。
SetColorSecondaryLerpTo
<color255>
(存在于自 以来)- 储存一个 Secondary Fog Color 的颜色值,在
StartFogTransition
输入时触发。
SetStartDistLerpTo
<float>
| 浮点型 (存在于自 以来)- 储存一个 Fog Start 的距离值,在
StartFogTransition
输入时触发。
SetEndDistLerpTo
<float>
| 浮点型 (存在于自 以来)- 储存一个 Fog End 的距离值,在
StartFogTransition
输入时触发。
SetMaxDensityLerpTo
<float>
| 浮点型 (in all games since )- 储存一个 Fog Max Density的浓度,在
StartFogTransition
输入时触发 This one does not have any non-"LerpTo" counterpart.
Set2DSkyboxFogFactorLerpTo
<float>
| 浮点型 (存在于自 l4d2 以来)- 把当前雾气的量混合到2D skybox,表示为小数百分比,45%请使用0.45。只有
StartFogTransition
输入时触发。 (仅存在于 中).
Base:
AddContext
<string
> | 字符串- 添加到实体的 Response Contexts/响应上下文列表。格式是
<key>:<value>
。
语法:
ClearContext
- 从此实体的列表中删除所有上下文。
ClearParent
- 从移动层次结构中删除该实体,使其可以自由移动。
FireUser1
到FireUser4
- 触发相应的
OnUser
输出;详见 User Inputs and Outputs。
Kill
- 从这个世界中删除此实体。
KillHierarchy
- 功能类似
Kill
,尽管此实体与其父实体都被删除了,但比Kill
快一点。
RemoveContext
- 从实体列表删除一个上下文。名字应与现有上下文进行匹配。
SetParent
<string
> | 字符串- 跟随此实体移动,详见 实体层级(依赖关系)。
SetParentAttachmentMaintainOffset
<string
> | 字符串- 同上,但没有传送。在接收到输入时,实体保持其相对于附件的位置。
DispatchResponse
<string
> | 字符串 不存在于FGD!- 向实体发送一个上下文。 详见 Response 和 Concept.
DispatchEffect
<string
> | 字符串 (自从 被移除) 不存在于FGD!- 在实体的原点坐标设置一个特定效果;参见 List of Client Effects。自从 求生之路后由粒子系统取代。
RunScriptCode
<string
> | 字符串 (存在于自 以来)- 在接收输入的实体范围内执行一串 VScript 源代码。通过控制台触发时可能需要字符串引用。错误:在 Hammer 中,使用带有字符串的参数会破坏 VMF 文件的结构,使下一个 Hammer 会话无法查看该文件。
- 修复: 使用文本编辑器手动删除带有字符串的参数。
SetLocalOrigin
<coordinates>
(存在于自 以来) 不存在于FGD!- 将此实体设置到地图中的某个位置。如果此实体是某实体父级,那么它的子级也会随着移动。
输出
Base/基础:
OnUser1
到OnUser4
- 这些输出将分别响应于
FireUser1
到FireUser4
输入。 详见 User Inputs and Outputs。 OnKilled
(only in )- 当实体被Kill输入时响应此输出。