trigger_proximity是固体实体(en),可在所有的
起源 游戏中使用。 用于测量trigger(en)体积内实体与指定点的距离(在给定半径范围内)。当实体位于中心点时,NearestEntityDistance输出为0;当实体位于半径边缘时输出为1。
注意: 此实体无法可靠检测实体何时离开半径范围,因此仅适用于检测实体接近情况。这是由于NearestEntityDistance输出仅在实体位于半径内时触发,且只发送0(靠近中心)或1(位于边缘)参数值。如需检测实体远离,请改用trigger_multiple(en)的OnEndTouch输出。
提示: 该实体的主要用途是检测与可旋转动态实体的接近程度,因为其检测区域是固定球形。虽然可以创建球形父级触发器,但不建议使用球形brush。
注意: 此实体在多人地图中表现不佳。虽然能运行,但如果有多个玩家会破坏地图中所有其他触发器。单人模式下则显示正常。
键值
<dl id="Name(en)" style="margin-block:.4em 1em">
Name(en) (targetname) <target_source>
这个名称是其他实体通过 输入/输出(en) 或其他 关键值(en)(如 parentname 或 target) 来引用该实体时使用的标识符。
该名称也会显示在 Hammer 编辑器的 2D 视图和 实体报告(en) 中。
- Point to Measure From (measuretarget) <target_destination>
- 作为测量基准点的目标实体名称。
- Radius to measure within (radius) <浮点型(en)>
- 进行距离映射的半径范围,超出半径的实体将被忽略。
BaseTrigger
- Filter Name (filtername) <filter(en)>
- A filter entity to test potential activators against.
- Start Disabled (StartDisabled) <布尔值(en)>
- Stay dormant until activated (with the
Enableinput).
|
属性(Flags)
BaseTrigger
- Everything (not including physics debris) : [64]
- Clients (Survivors, Special Infected, Tanks
 之中) : [1]
- Only clients in vehicles : [32]
- Only clients *not* in vehicles : [512]
- Disallow Bots (被移除于
以来) : [4096]
- NPCs (Common Infected, Witches
 之中) : [2]
- Only player ally NPCs : [16]
- Only NPCs in vehicles (respects player ally flag) : [2048]
- Physics Objects (not including physics debris) : [8]
- Physics debris (include also physics debris) : [1024]
Pushables (Passes entities with classname func_pushable) : [4] 
- 已弃用。
Equivalent to using Everything + filter_activator_class that filters func_pushable.
|
输入
BaseTrigger
- Toggle
- Toggles this trigger between enabled and disabled states.
- Enable
- Enable trigger
- Disable
- Disable trigger
- TouchTest (存在于自
以来)
- Triggers either the OnTouching or OnNotTouching outputs for whether anything is touching this entity.
错误:Sleeping prop_physics will never fire "OnTouching". Also applies to entities using prop_physics as base. (tested in: )
- StartTouch (存在于自
以来) 不存在于FGD!
- Behave as if the !caller entity had just entered the trigger volume. Accepts non-physical entities.
- EndTouch (存在于自
以来) 不存在于FGD!
- Behave as if !caller had just exited the trigger volume.
- DisableAndEndTouch (仅存在于
 之中)
- Disables this trigger and calls EndTouch on all currently-touching entities.
|
输出
- NearestEntityDistance <浮点型(en)>
- !activator = 最接近测量目标的触发实体[证实]
!caller = this entity
- 当实体接触触发体积时持续触发。
输出参数表示从测量点到最近符合过滤条件实体的距离。
距离值会映射到半径范围:0表示实体位于基准点,1表示实体位于半径边缘。
BaseTrigger
- OnStartTouch
- !activator = entity that caused this output
!caller = this entity
- Fired when a valid entity starts touching this trigger.
- OnStartTouchAll
- !activator = entity that caused this output
!caller = this entity
- Fired when a valid entity starts touching this trigger, and no other entities are touching it. If there are any other entities touching the trigger when a new one begins to touch, only
OnStartTouch will fire.
- OnEndTouch
- !activator = entity that caused this output
!caller = this entity
- Fired when a valid entity stops touching this trigger.
注意: Will also fire for entities touching it when trigger is disabled via Disable input
警告: This includes entities which are deleted while inside the trigger. In this case !activator will be invalid.
警告: OnEndTouch can fire before OnStartTouch under certain circumstances[如何?] where both are fired on the same tick and each have the same delay. 修复:Add a slight delay to OnEndTouch.
- OnEndTouchAll
- !activator = entity that caused this output
!caller = this entity
- Fired when all valid entities stop touching this trigger.
- OnTouching (存在于自
以来)
- !activator = !caller = this entity
- Fired if something is currently touching this trigger when
TouchTest is fired.
- OnNotTouching (存在于自
以来)
- !activator = !caller = this entity
- Fired if nothing is currently touching this trigger when
TouchTest is fired.
|
待完善: deprecate in favor of using the category directly