env_screenoverlay

This translated page needs to be updated.
You can help by updating the translation.
Also, please make sure the article tries to comply with the alternate languages guide.
env_screenoverlay
是一个存在于所有的 Source 游戏的点实体。可以显示和控制在屏幕上的覆盖贴图,用来显示在玩家屏幕上。适合制造醉酒效果以及传送残影或者提示。

!activator
是单个玩家。为了显示在单个客户端上,需要设置r_screenoverlay <material_path>
(需要 sv_cheats 1
,不包括
point_clientcommand
上。

suf
or {{Lang}}-based translations. Please use the main {{Code class}} instead, which uses {{Autolang}}.
在源代码中,它由 class
CEnvScreenOverlay
代表,定义于 env_screenoverlay.cpp
。
贴图
任何材质都可以做覆盖贴图,但是UnlitGeneric
属性的材质可能造成视觉错误。
Valve默认提供的一些效果,在/effects
文件夹:
- combine_binocoverlay
- 联合军望远镜
- tp_eyefx/tpeye
- 绿色传送闪烁
- tp_eyefx/tpeye2
同上,红色
- tp_eyefx/tpeye3
- 同上,蓝色
- tp_eyefx/tp_eyefx
- 摇晃效果,类似被strider击中效果
- tp_eyefx/tp_black
- 黑色。
- tp_eyefx/tp_eyefx_eli
- Flashing animation of three figures. Hardly usable as an overlay.
These materials are not designed as screen overlays, but will work as one:
- debug/yuv
- 单色(黑白)
- effects/com_shield002a.vmt
- The combine shield shader effect - refraction with drifting squares.
- models/effects/portalfunnel_sheet
- Red-yellow-green scrolling ground overlay
- models/props_combine/portalball001_sheet
- Green downward haze
- effects/tp_refract
- Red/Orange Refractive overlay
- glass/glasswindow_refract01
- As if looking through a glass Observation window from Portal
标签
- 1: Allow Suit Zoom - 允许合适缩放
键值
- Overlay Name 1 (OverlayName1) 到 Overlay Name 10 (OverlayName10)
<string
> | 字符串
- 需要显示的贴图名称。
- Overlay Duration 1 (OverlayTime1) 到 Overlay Duration 10 (OverlayTime10)
<float>
| 浮点型 - 显示贴图的时间,到时间则显示下一张。设置为-1会永远显示,除非被输入改变。
Base/基础:
- Parent
(parentname)
<targetname>
| 目标名 - 实体的父级实体,该实体可以与父实体保持移动偏移。名称后面可以添加一个附属点,以逗号隔开。 (
parentname [targetname],[attachment]
)Tip:转换至下一张地图的实体关系会依然存在。
Tip:一些不适合做父实体的实体可能难以运行,利用
phys_constraint
可以解决。
- Origin (X Y Z)
(origin)
<coordinates>
- 实体处于世界中的位置,旋转实体会以实体坐标原点旋转。
Note:Hammer 不会仅在编辑器中相应地移动实体。
- Pitch Yaw Roll (X Y Z)
(angles)
<angle>
- 实体在世界中的方位,Pitch围绕X轴旋转,可以称为俯仰角。Yaw围绕Z轴旋转,可以称为偏航角,roll围绕Y轴旋转。
Note:尽管 Hammer 不显示新角度,但其仍然适用于固实体。
- Classname
(classname)
<string
> | 字符串 不存在于FGD!
- 确定实体之前它生成的特征。
Tip:使用
AddOutput
输入更改 Classname 仍然会影响游戏的代码,例如使类名与 S_PreserveEnts 列表中的一个元素匹配将使实体在新一轮中持续存在!
- Entity Scripts
(vscripts)
<scriptlist>
| 脚本列表 (存在于自以来)
- 在所有实体生成后执行的 VScript
文件(无文件扩展名)的空格分隔列表。这些脚本都在同一个脚本范围内执行,以后的脚本会覆盖任何相同的变量和函数。
- Thinker Function
(thinkfunction)
<string
> | 字符串 (存在于自
以来)
- 此实体脚本中的函数名称,该函数将在脚本持续时间内每 100 毫秒(每秒 10 次)自动调用一次。它可用于创建计时器或模拟自主行为。返回值(如果存在)将设置下一次调用之前的时间。尽量避免在此函数中进行昂贵的操作,因为它可能会导致性能问题。
- Lag Compensation
(LagCompensate)
<boolean>
| 布尔值 (存在于自以来) 不存在于FGD!
- 设置为是以延迟补偿此实体。应该非常谨慎地使用!
输入
StartOverlays
- 开始显示第一张贴图。
StopOverlays
- 停止显示任何贴图。
SwitchOverlay
<integer>
| 整数- 显示指定号码的贴图。填写-1会导致当前贴图永久显示。
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
。自从
Left 4 Dead后由粒子系统取代。
RunScriptCode
<string
> | 字符串 (存在于自
以来)
- 在接收输入的实体范围内执行一串 VScript 源代码。通过控制台触发时可能需要字符串引用。
Bug:在 Hammer 中,使用带有字符串的参数会破坏 VMF
文件的结构,使下一个 Hammer 会话无法查看该文件。

SetLocalOrigin
<coordinates>
(存在于自以来) 不存在于FGD!
- 将此实体设置到地图中的某个位置。如果此实体是某实体父级,那么它的子级也会随着移动。
输出
Base/基础:
OnUser1
到OnUser4
- 这些输出将分别响应于
FireUser1
到FireUser4
输入。 详见 User Inputs and Outputs。 OnKilled
(only in)
- 当实体被Kill输入时响应此输出。
参见
- 覆盖贴图的视频