Env shake

From Valve Developer Community
< Zh
Jump to: navigation, search
English (en)中文 (zh)Translate (Translate)
Env shake.png

起源 env_shake是一个存在于所有的 起源 游戏的点实体。 它会制造屏幕震动效果,物件也可以被影响(效果就像求生之路里Tank接近你屏幕的震动效果)。

Note.png注意:震动持续的时候,会影响玩家射击精度。
Note.png注意:代码中, 一段描述称UTIL_ScreenShake 对空降玩家不起作用(?)。 它被设置为 false.
在源代码中,它由 class CEnvShake 代表,定义于 EnvShake.cpp

标签/Flags

  • 1: GlobalShake - 无视半径,任何事物都会被影响。
  • 4: In Air - 空中的玩家被震动。
  • 8: Physics - 对物理物件也起作用,不只是玩家。
  • 16: Ropes - 对绳索起作用。 (取决于Physics.)
  • 32: DON'T shake view (for shaking ropes or physics only) - 不影响玩家,只会影响物件
  • 64: DON'T Rumble Controller - Do not shake the controller for players using an Xbox controller, etc. - 不影响玩家XBOX手柄。

键值

Amplitude (0-16) (amplitude) <float(en)>
玩家屏幕视角对于正常的偏离值,就是震动大小。0~16.
Effect Radius (radius) <float(en)>
以本实体为中心,影响的半径。
Note.png注意:开始后,在设定时间内无论玩家是否处于半径内都会被影响(玩家先得在半径内).
Duration (seconds) (duration) <float(en)>
持续时间。
Frequency (frequency) <float(en)>
每秒晃动视角次数,设置为40足以,太高就很区分了。
  1. REDIRECT Template:KV BaseEntity:zh-cn

输入

Amplitude<integer(en)>
设置 Amplitude.
Frequency<integer(en)>
设置 Frequency.
StartShake
开始
StopShake
停止

Base:
AddContext<string(en)>
添加到实体的 Response Contexts/响应上下文列表。格式是<key>:<value>
AddOutput<string(en)>
在此实体上分配新的键值/输出。对于键值,有些依赖于额外的必要代码来运行,如果它只是通过这个输入改变就行不通。必须遵循严格的格式:
语法:

ClearContext
从此实体的列表中删除所有上下文。
ClearParent
从移动层次结构中删除该实体,使其可以自由移动。
FireUser1FireUser4
触发相应的OnUser输出;详见 User Inputs and OutputsEnglish
Kill
从这个世界中删除此实体。
KillHierarchy
功能类似Kill,尽管此实体与其父实体都被删除了,但比Kill快一点。
RemoveContext
从实体列表删除一个上下文。名字应与现有上下文进行匹配。
SetParent<string(en)>
跟随此实体移动,详见 实体层级(依赖关系)
SetParentAttachment<string(en)>
更改此实体到其父级上的特定附属English点。实体将传送,以至于其骨骼方位English与附属匹配。在使用此输入前必须设置好实体的父实体。
SetParentAttachmentMaintainOffset<string(en)>
同上,但没有传送。在接收到输入时,实体保持其相对于附件的位置。
Use 不存在于FGD!
与调用 +use 的玩家相同[玩家按 +use(使用,默认E按钮)];大多数情况下没有影响。
DispatchResponse<string(en)> 不存在于FGD!
向实体发送一个上下文。 详见 ResponseEnglishConceptEnglish.
DispatchEffect<string(en)> (自从 求生之路移除) 不存在于FGD!
在实体的原点坐标设置一个特定效果;参见 List of Client EffectsEnglish。自从求生之路 求生之路后由粒子系统取代。
RunScriptFile<script(en)> (存在于自 求生之路2 以来)
从硬盘执行一个 VScript 脚本文件,不带文件后缀名。会合并接收实体的脚本域。
RunScriptCode<string(en)> (存在于自 求生之路2 以来)
在接收输入的实体范围内执行一串 VScript 源代码。通过控制台触发时可能需要字符串引用。
Icon-Bug.png错误:在 Hammer 中,使用带有字符串的参数会破坏 VMFEnglish 文件的结构,使下一个 Hammer 会话无法查看该文件。  [todo tested in?]
Note.png修复:使用文本编辑器手动删除带有字符串的参数。
CallScriptFunction<string(en)> (存在于自 求生之路2 以来) 不存在于FGD!
在接受实体脚本域上执行一段 VScript 函数。
SetLocalOrigin<coordinates(en)> (存在于自 异形丛生 以来) 不存在于FGD!
将此实体设置到地图中的某个位置。如果此实体是某实体父级,那么它的子级也会随着移动。
SetLocalAngles<angles(en)> (存在于自 异形丛生 以来) 不存在于FGD!
设置该实体的角度。

输出

Base/基础:

OnUser1OnUser4
这些输出将分别响应于 FireUser1FireUser4 输入。 详见 User Inputs and Outputs
OnKilled (存在于 Left 4 Dead series 之中)
当实体被Kill输入时响应此输出。