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

env_physexplosion

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

env_physexplosion是一个点实体(en),可在所有的 起源 起源 游戏中使用。

它适用于给物理对象施加一个物理力(取决于设置的半径),并取决于大小造成一次轻度到大的爆炸。爆炸不可见,如果你想要爆炸是可见的,请用env_explosion.

Tip.png提示:可以用较小的力对悬挂物体或者灯进行一次摇晃。
在源代码中,它由 class CPhysExplosion 代表,定义于 physobj.cpp

标签/Flags

  • 1: No Damage - 只有力的作用,类似于冲击波(无论是否勾选都不会伤害玩家,只会是物体)
  • 2: Push players - 推开玩家
  • 4: Push radially - 非球体爆炸,不会产生向上或者向下的力。
  • 8: Test LOS(en) before pushing - 在推前测试LOS(en)
  • 16: Disorient player if pushed - 玩家被推动会迷失方向。

键值

Magnitude (magnitude) ([todo internal name (i)]) <字符串(en)>
爆炸冲击波力的大小。
Note.png注意:限制在1~100,如果需要更大请创建更多实例。(经测试可以单个实体大于100,求生之路2)
Clamp Radius (0 = auto) (radius) ([todo internal name (i)]) <字符串(en)>
受力的半径,如果指定,则爆炸取决于此。没有,则取决于Magnitude的大小。
Limit to Entity (targetentityname) ([todo internal name (i)]) <targetname(en)>
如果指定,爆炸只会影响匹配的实体。
Inner radius (inner_radius) ([todo internal name (i)]) <float(en)>
If not zero, the LOS(en) is calculated from a point intersecting this sphere.

Base:

Name (targetname) <string(en)>
其他实体用来指代该实体的名称。
Parent (parentname) <targetname(en)>
实体的父级实体,该实体可以与父实体保持移动偏移。名称后面可以添加一个附属点,以逗号隔开。 (parentname [targetname],[attachment]
Tip.png提示:转换至下一张地图的实体关系会依然存在。
Tip.png提示:一些不适合做父实体的实体可能难以运行,利用phys_constraint可以解决。
Origin (X Y Z) (origin) <coordinates(en)>
实体处于世界中的位置,旋转实体会以实体坐标原点旋转。
Note.png注意:Hammer 不会仅在编辑器中相应地移动实体。
Pitch Yaw Roll (Y Z X) (angles) <angle(en)>
实体在世界中的方位,Pitch围绕X轴旋转,可以称为俯仰角。Yaw围绕Z轴旋转,可以称为偏航角,roll围绕Y轴旋转。
Note.png注意:尽管 Hammer 不显示新角度,但其仍然适用于固实体。
Classname (classname) <string(en)> 不存在于FGD!
确定实体之前它生成的特征。
Tip.png提示:使用AddOutput输入更改 Classname 仍然会影响游戏的代码,例如使类名与 S_PreserveEnts 列表中的一个元素匹配将使实体在新一轮中持续存在!
Spawnflags (spawnflags) <flags(en)> 不存在于FGD!
实体所具有的标志/标签,依实体所具有而定。
Effects (effects) <flags(en)> 不存在于FGD!
要使用的效果标志的组合。
Entity Scripts (vscripts) <scriptlist(en)> (存在于自 求生之路2 以来) (也存在于 军团要塞2 之中)
在所有实体生成后执行的 VScript简体中文 文件(无文件扩展名)的空格分隔列表。这些脚本都在同一个脚本范围内执行,以后的脚本会覆盖任何相同的变量和函数。在 worldspawn 实体上执行的脚本将放置在根作用域中。
Think function (thinkfunction) <string(en)> (存在于自 求生之路2 以来) (也存在于 军团要塞2 之中)
此实体脚本中的函数名称,该函数将在脚本持续时间内每 100 毫秒(每秒 10 次)自动调用一次。它可用于创建计时器或模拟自主行为。返回值(如果存在)将设置下一次调用之前的时间。尽量避免在此函数中进行昂贵的操作,因为它可能会导致性能问题。
Lag Compensation (LagCompensate) <boolean(en)> (存在于自 求生之路2 以来) 不存在于FGD!
设置为以延迟补偿此实体。应该非常谨慎地使用!
Is Automatic-Aim Target (is_autoaim_target) <boolean(en)> (存在于自 反恐精英:全球攻势 以来) 不存在于FGD!
如果设置为 1,当实体位于十字准线下方时,该实体将减慢控制台和操纵杆控制器的瞄准移动速度。

输入

Explode
开始一次爆炸。
ExplodeAndRemove  (存在于自 传送门2 以来)
开始一次爆炸,并会删除自己本身。
CBaseEntity:
AddContext <string(en)>
将此实体添加到响应上下文列表中。参见 上下文
AddOutput(en) <string(en)>
为此实体分配一个新的键值/输出。对于键值,有些依赖于额外的代码,不能仅通过此输入进行更改。必须遵循严格的格式:
// 更改键值的格式 "AddOutput [键] [值]"
//// 原始文本
"OnUser1" "!self,AddOutput,targetname new_name"

// 添加输出的格式 "AddOutput {目标名称}:{输入名称}:{参数}:{延迟}:{最大触发次数,-1 代表无限}"
//// 原始文本
"OnUser1" "!self,AddOutput,OnUser1:SetParent:!activator:0.0:-1"
// 参数可以留空但仍应包含空的空白
//// 原始文本
"OnUser1" "!self,AddOutput,OnUser1:ClearParent::0.0:-1"
ClearContext
从此实体的列表中移除所有上下文。
ClearParent
从运动层次结构中移除此实体,使其可以独立移动。
FireUser1 to FireUser4
触发相应的OnUser输出;参见 User Inputs and Outputs
Kill
从世界中移除此实体及任何附属于它的实体。
KillHierarchy
功能与Kill相同,但此实体和任何附属于它的实体在同一帧内被击杀,比Kill输入稍快。
RemoveContext <string(en)>
从此实体的列表中移除一个上下文。名称应与现有上下文的键匹配。
SetParent <string(en)>
与此实体一起移动。参见 Entity Hierarchy (parenting)
SetParentAttachment <string(en)>
将此实体更改为附加到其父级上的特定attachment点。实体将被传送,以便其根bone的位置与附件的位置匹配。实体必须在发送此输入之前被附加。
SetParentAttachmentMaintainOffset <string(en)>
如上所述,但不进行传送。实体保留相对于附件的当前位置。
Use  不存在于FGD!
与玩家调用+use相同;在大多数情况下没有效果。
SetTeam <integer(en)> 不存在于FGD!
更改此实体的团队。
TeamNum <integer(en)> 不存在于FGD!
此输入更改TeamNum属性的值。
DispatchResponse <string(en)> 不存在于FGD!
向实体分发响应。参见 ResponseConcept
DispatchEffect <string(en)> (被移除求生之路 以来) 不存在于FGD!
从实体的原点分发特殊效果;另见 List of Client Effects。自求生之路以来被particle系统取代。
RunScriptFile <script(en)> (存在于自 求生之路2 以来) (也存在于 军团要塞2 之中)
从磁盘执行VScript文件,无需文件扩展名。脚本内容与接收实体的脚本作用域合并。
RunScriptCode <string(en)> (存在于自 求生之路2 以来) (也存在于 军团要塞2 之中)
在接收输入的实体的作用域中执行一串VScript源代码。通过控制台触发时可能需要字符串引号。
CallScriptFunction <string(en)> (存在于自 求生之路2 以来) (也存在于 军团要塞2 之中) 不存在于FGD!
调用在接收实体的作用域中定义的VScript函数。
TerminateScriptScope  (存在于 军团要塞2 之中) 不存在于FGD!
销毁接收实体的脚本作用域。
SetLocalOrigin <coordinates(en)> (存在于自 异形丛生 以来) 不存在于FGD!
将此实体发送到地图中的某个位置。如果实体附属于某个东西,它将相对于父级偏移此量。
SetLocalAngles <angles(en)> (存在于自 异形丛生 以来) 不存在于FGD!
设置此实体的角度。

输出

OnPushedPlayer
当玩家被爆炸推动的时候触发。

基础:

OnUser1 to OnUser4
这些输出分别在相应编号的 FireUser1 到 FireUser4 输入触发时触发;参见 用户输入和输出(en)
OnKilled  (存在于 求生之路 之中)
当实体被击杀并从游戏中移除时触发此输出。