env_laser
Not to be confused with env_portal_laser (不要与env_portal_laser实体搞混。).
env_laser
is a point entity available in all Source games.在自身和给定目标上产生镭射激光束。 请与 env_beam
区分不同之处。主要区别是该实体无法穿过固体。
Placement Tip: 确保此实体坐标不在任何一个固体内部。
Note:如果你的
env_laser
实体没有名字的话,那么当游戏地图开始后它会自启动。
Contents
标签/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)和环形光束不起作用。
键值
- Target of Laser (LaserTarget) <目标实体名称>
- 用于strike的实体的名称,当是多个同名实体则会每次strike随机选取一个。
- Width of Beam (width) <浮点型>
- 激光束宽度,单位像素。
- End Sprite <sprite>
- 如果设置了,光束末尾会显示此图像。
Beam:
- Beam Color (R G B) (rendercolor)
<color255>
- Beam 颜色。
- Damage/second (damage)
<string
> | 字符串 - 光束持续中的每秒伤害。或者一次strike时的伤害。持续伤害应该设置为10以上。
Note:伤害会根据难度而调整!
- Easy: 50%
- Normal: 100%
- Hard: 150%
- HDR color scale (HDRColorScale)
<float>
| 浮点型 - 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
Note:虽然声明可以是255,但是最大值其实是60,超过60会默认成60。
- Sprite Name (texture)
<sprite>
- 光束的材质。
- Starting Frame (framestart)
<integer>
| 整数 - 光束生成的指定材质帧数(如果有)。
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! - 设置为是以延迟补偿此实体。应该非常谨慎地使用!
输入
Beam:
TurnOn
- 开启光束。
TurnOff
- 关闭光束。
Toggle
- 一个开关,切换光束开关状态。
Width
<float>
| 浮点型- 设置光束宽度,单位像素。
Alpha
<integer>
| 整数- 设置光束透明度(0 - 255)。
Color
<color255>
- 设置颜色(R G B)。
ColorRedValue
<float>
| 浮点型- 设置红色通道值(0 - 255)。
ColorGreenValue
<float>
| 浮点型- 同上,这是绿色(0 - 255).
ColorBlueValue
<float>
| 浮点型- 同上,蓝色。(0 - 255).
ScrollSpeed
<float>
| 浮点型- 设置每秒滚动速度(0 - 100).
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 会话无法查看该文件。
- Fix: 使用文本编辑器手动删除带有字符串的参数。
SetLocalOrigin
<coordinates>
(存在于自 以来) 不存在于FGD!- 将此实体设置到地图中的某个位置。如果此实体是某实体父级,那么它的子级也会随着移动。
输出
Base/基础:
OnUser1
到OnUser4
- 这些输出将分别响应于
FireUser1
到FireUser4
输入。 详见 User Inputs and Outputs。 OnKilled
(only in )- 当实体被Kill输入时响应此输出。