这篇条目有关 Source引擎。如需详情,点击这里。

env_beam

From Valve Developer Community
< Zh
Jump to navigation Jump to search
English (en)中文 (zh)Translate (Translate)
edit
env_beam效果.

env_beam是一个点实体(en),可在所有的 起源 起源 游戏中使用。在两个实体(en)间产生一道能量光束,外表呈直线或者环形。类似于env_laser

Icon-Bug.png错误:绑定父级实体将无效,使用env_laserlogic_measure_movement则可行。  [todo tested in?]
待完善: 哈?哪个游戏?反正csgo可行!
Icon-Bug.png错误:军团要塞2 info_target, info_landmarkpath_corner似乎不能作为此实体的起始点和结束点(start/end points), info_teleport_destination是一种解决方案。  [todo tested in?]
Tip.png提示:结束点与结束实体或起始点与起始实体是同一个概念。
在源代码中,它由 class CEnvBeam 代表,定义于 EnvBeam.cpp

用法注意

起始点和结束点(start/end points)可以是任意实体。除了内部实体(en)或者其他会自动移除自己的实体。比如info_null. 如果起始点和结束点实体都被删除了,那么能量光束将会失效! 开发者们可以设置多个起始点和结束点,通过给多个实体设置同一名字。env_beam每次strike(震动)都会从其中随机选一个作为起始/结束点。如果省略了任意点的名字,那么每次strike会随机选取半径内的固体面作为其中的点。(在Radius属性指定)。如果两个点都被省略,那么起始和初始点将会是 env_beam 实体本身的中心点。 这样的随机光束不会产生伤害。

光束会一直从起始点到结束点可见,即使穿过了固体面。光束的伤害会被第一个接触固体所吸收,如果Life大于0,那么光束只会处理伤害一次同时也是停留时间,当这个元素 (Life 为 0) 会逐渐造成伤害并永久停留可见。

标签/Flags

Beam:

  • 1: Start On - 地图生成的时候就自动启动。
  • 2: Toggle - 废弃的。在起源引擎中被Toggle 输入替代。用于beam的开关。
  • 4: Random Strike - 当光束“死亡”后,会自动根据Strike again time (secs)键值来strike。
  • 8: Ring - 以起始点到结束点的距离作为半径,绘制一个环形光束。
  • 16: StartSparks - 每次光束启动或者strike,光束会在 Start Entity起始实体上产生一个小火花。
  • 32: EndSparks - 同上,但是是Ending Entity结束实体。
  • 64: Decal End - 在光束strike到第一个物体上(固体或实体)产生一个火焰灰烬烧焦贴图效果。根据 Decal Name 设置你想要的贴图。
  • 128: Shade Start - 光束向Start Entity起始实体方向淡出。会覆盖Shade End,Strike时和环形光束不起作用。
  • 256: Shade End - 同上,是结束实体。strike时(life >0)和环形光束不起作用。
  • 512: Taper Out -使光束向Ending Entity发生位移?。 strike时(life >0)和环形光束不起作用。

键值

Tip.png提示:strike与持续时间有本质区别!
Radius (Radius) <整数型(en)>
如果Start Entity 和/或者Ending Entity 的键值没有被设置,此半径会确定一点随机strike的位置。并且每次strike会随机采用一个位置。
Life (seconds 0 = 无限) (life) <字符串(en)>
光束的持续时间。设置为0,那么光束会一直停留显示。
Width of beam (BoltWidth) <浮点型(en)>
光束的宽度,单位像素。范围: 1 至 25.5f(en)
Frames per 10 seconds (framerate) <整数型(en)>
光束材质动画的帧数,如果它支持多帧。
Strike again time (secs) (StrikeTime) <字符串(en)>
光束重新strike的时间。 标签'Random Strike'需要被勾选才生效。
Start Entity (LightningStart) <target_destination/目标实体(en)>
光束起始点。如果未指定会根据Radius值设置,每次strike都会随机一个新的位置。 详见上面的用法注意。
Ending Entity (LightningEnd) <target_destination/目标实体(en)>
光束结束点。如果未指定会根据Radius值设置,每次strike都会随机一个新的位置。 详见上面的用法注意。
Decal Name (decalname) <字符串(en)>
strike物体时的灰烬贴图。
Touch Type (tripwire) (TouchType) <choices>
如果你想让光束碰到其他实体时触发输出,选择实体类型:
  • 0: Not a tripwire
  • 1: Player Only/仅限玩家
  • 2: NPC Only/仅限NPC
  • 3: Player or NPC/玩家或NPC
  • 4: Player or NPC or Physprop/玩家或NPC或物理道具
Filter Name (filtername) <filter(en)>
过滤器(en),用于过滤可触发的实体。
Endpoint handle (targetpoint) <vector(en)>
如果Ending Entity未被指定,将此点作为目标点。如果光束实体运动了,此点也会运动。

Beam:

Brightness (1 - 255) (renderamt) <整数型(en)>
误导名称!这是beam的透明度。0为完全不可见。
Beam Color (R G B) (rendercolor) <color255(en)>
Beam 颜色。
Damage/second (damage) <字符串(en)>
光束持续中的每秒伤害。或者一次strike时的伤害。持续伤害应该设置为10以上。
Note.png注意:伤害会根据难度而调整!
  • Easy: 50%
  • Normal: 100%
  • Hard: 150%
HDR color scale (HDRColorScale) <浮点型(en)>
HDR模式下会乘以光束的颜色的值。
Beam clipping (ClipStyle) <choices>
几何切割形状样式。
  • 0: Do not clip (default)
  • 1: Clip to geometry/
  • 2: Clip to everything solid
Dissolve Type (dissolvetype) <choices>
当其造成伤害并杀死物体时,会对周围显示效果:
  • -1: None
  • 0: Energy
  • 1: Heavy Electrical
  • 2: Light Electrical
Amount of noise (0-255) (NoiseAmplitude) <浮点型(en)>
噪点。0为非常直的光束,255则充满锯齿效果。范围: 0 至 64.
Note.png注意:虽然声明可以是255,但是最大值其实是60,超过60会默认成60。
Sprite Name (texture) <sprite(en)>
光束的材质。
Texture Scroll Rate (0-100) (TextureScroll) <整数型(en)>
光束材质沿着光束滚动率。 范围: 0 至 100.0f.
Starting Frame (framestart) <整数型(en)>
光束生成的指定材质帧数(如果有)。
  1. REDIRECT Template:KV BaseEntity:zh-cn

输入

StrikeOnce
形成一次strike(震动)。根据Life键值形成持续时间,然后关闭。(Life为0则不会关闭。)
Amplitude<浮点型(en)> Obsolete
已弃用。 请用Noise 实例。

Beam:

TurnOn
开启光束。
TurnOff
关闭光束。
Toggle
一个开关,切换光束开关状态。
Width<浮点型(en)>
设置光束宽度,单位像素。
Noise<浮点型(en)> 不存在于FGD!
设置允许偏离光束中心点的距离。
Alpha<整数型(en)>
设置光束透明度(0 - 255)。
Color<color255(en)>
设置颜色(R G B)。
ColorRedValue<浮点型(en)>
设置红色通道值(0 - 255)。
ColorGreenValue<浮点型(en)>
同上,这是绿色(0 - 255).
ColorBlueValue<浮点型(en)>
同上,蓝色。(0 - 255).
ScrollSpeed<浮点型(en)>
设置每秒滚动速度(0 - 100).
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!
设置该实体的角度。

输出

OnTouchedByEntity
根据 'Touch Type' 的选项,当符合选项的实体触碰光束时进行输出。

Base/基础:

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