< Zh(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
trigger_look是固体实体(en),可在所有的
起源 游戏中使用。 用于当玩家注视某物时触发事件。
当玩家在触发体积内注视目标实体达到指定时间后,会触发OnTrigger输出。如果玩家离开触发区域或移开视线,计时器将重置。
如果勾选了Use Velocity instead of facing属性(Flags),触发器将使用玩家速度而非视角方向来判断,适用于玩家驾驶载具朝向目标的情况。
注意:仅设计用于单人游戏。
注意:只要玩家接触该实体,朝向目标实体方向即可触发,即使目标不在玩家直接视线内(如中间有世界几何体阻挡)。
错误:在
传送门中,通过传送门注视目标实体不会触发OnTrigger输出。 [todo tested in ?]
错误:如果地图中有多个同名目标实体,OnTrigger可能触发不稳定。输出可能延迟或完全不触发,同名实体越多问题越严重。 [todo tested in ?]
键值
<div id="Name(en)" style="display:grid; padding:0 0 0 2em; margin-block:.5em 1em">
Name(en) (targetname) <target_source>
Look Target (target) <target_destination>
要注视的实体名称。
LookTime (LookTime) <字符串(en)>
玩家必须注视目标的秒数(离开触发区域或超出视野阈值会重置)。
错误:值为1.0时即使直视目标也无法触发。 [todo tested in ?]
FieldOfView (FieldOfView) <字符串(en)>
Timeout (Timeout) <浮点型(en)>
Use LOS (UseLOS) <布尔值(en)> (仅存在于
之中)
启用视线检测
BaseTrigger
A filter entity to test potential activators against.
Start Disabled (StartDisabled) <布尔值(en)>
Stay dormant until activated (with theEnableinput).
|
属性(Flags)
- Fire Once
- 仅触发一次 : [128]
- Use Velocity instead of facing
- 使用速度而非朝向 : [256]
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.
|
输出
- OnTimeout
- 玩家未注视目标且超时后触发。
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
另见
Trigger_Look讲解视频