trigger_portal_cleanser

From Valve Developer Community
< Zh
Revision as of 07:20, 26 June 2025 by WoShiGeNiCheng (talk | contribs) (Created page with "{{LanguageBar}} {{CD|CTriggerPortalCleanser|base=CBaseTrigger}} {{this is a|brush entity|name=trigger_portal_cleanser|series=Portal}} 该实体用于创建"物质释放网"/"溶解场"粒子效果,当玩家接触时会移除物体和传送门。 {{Bug|hidetested=1|在{{Portal|4}}中,若死亡时处于溶解场内可能导致玩家T型尸体可见溶解或游戏崩溃(当允许物理对象接触此触发器时)。{{workaround}...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
English (en)中文 (zh)Translate (Translate)
C++ 类层级
CTriggerPortalCleanser
CBaseTrigger
CBaseToggle
CBaseEntity

trigger_portal_cleanser是一个固体实体(en),可在传送门(系列) 传送门(系列)中使用。 该实体用于创建"物质释放网"/"溶解场"粒子效果,当玩家接触时会移除物体和传送门。

Icon-Bug.png错误:传送门 传送门中,若死亡时处于溶解场内可能导致玩家T型尸体可见溶解或游戏崩溃(当允许物理对象接触此触发器时)。PlacementTip.png解决方案: 使用filter_activator_class禁用prop_ragdoll
Icon-Bug.png错误:传送门 传送门中,任何带有备用身体组的prop_physics实体被溶解时会重置为默认组
Tip.png提示:要对特定实体直接应用溶解效果,使用env_entity_dissolver;对方块可触发Dissolve输入
Tip.png提示:仅当启用"Clients"标记时才会影响传送门放置,移除该标记可仅溶解实体
Note.png注意:通过env_entity_dissolvertrigger_physics_trap溶解的实体不会像trigger_portal_cleanser那样禁用重力
Warning.png警告:This entity applies its effect based on its AABB instead of its brush model. 仅传送门射击阻挡受此影响,实体溶解功能正常[ Edit ]

键值(Keyvalues)

Name (目标名称) <target_source>[ Edit ]
这个名称是其他实体通过 输入/输出(en) 或其他 关键值(en)(如 parentnametarget) 来引用该实体时使用的标识符。
该名称也会显示在 Hammer 编辑器的 2D 视图和 实体报告(en) 中。
参见:  所有实体均可使用的 通用键值、输入与输出(en)

Visible (Visible) <布尔值(en)> (存在于自 传送门2 以来)
控制溶解场可见性及开关音效
Use Scanline (UseScanline) <布尔值(en)> (存在于自 传送门2 以来)
启用扫描线视觉效果(仅轴向对齐的垂直场有效)
Render in Fast Reflections (drawinfastreflection) <布尔值(en)> (存在于自 传送门2 以来)
If enabled, this entity will render in fast water reflections (i.e. when a water material specifies $reflectonlymarkedentities) and in the world impostor pass.
BaseTrigger
Filter Name (filtername) <filter(en)>
A filter entity to test potential activators against.
Start Disabled (StartDisabled) <布尔值(en)>
Stay dormant until activated (with theEnableinput).

实体属性(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] Obsolete
已弃用。
Equivalent to using Everything + filter_activator_class that filters func_pushable.

输入

FizzleTouchingPortals  (存在于自 传送门2 以来)
立即溶解区域内所有传送门
BaseTrigger
Toggle
Toggles this trigger between enabled and disabled states.
Enable
Enable trigger
Disable
Disable trigger
TouchTest  (存在于自 起源2007 以来)
Triggers either the OnTouching or OnNotTouching outputs for whether anything is touching this entity.
Icon-Bug.png错误:Sleeping prop_physics will never fire "OnTouching". Also applies to entities using prop_physics as base.  (tested in: 半衰期2)
StartTouch  (存在于自 起源2007 以来) 不存在于FGD!
Behave as if the !caller entity had just entered the trigger volume. Accepts non-physical entities.
EndTouch  (存在于自 起源2007 以来) 不存在于FGD!
Behave as if !caller had just exited the trigger volume.
DisableAndEndTouch  (存在于 起源2013 多人分支军团要塞2分支 之中)
Disables this trigger and calls EndTouch on all currently-touching entities.

输出

OnDissolve
实体被溶解时触发
OnDissolveBox
名为box的实体被溶解时触发
OnFizzle
传送门被溶解时触发
OnPrimaryHit  (存在于 传送门 2:社区特供版 之中)
weapon_portalgun主射击中时触发
OnSecondaryHit  (存在于 传送门 2:社区特供版 之中)
weapon_portalgun副射击中时触发
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.
Note.png注意:Will also fire for entities touching it when trigger is disabled via Disable input
Warning.png警告:This includes entities which are deleted while inside the trigger. In this case !activator will be invalid.
Warning.png警告:OnEndTouch can fire before OnStartTouch under certain circumstances[如何?] where both are fired on the same tick and each have the same delay.
Note.png修复: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  (存在于自 起源2007 以来)
!activator = !caller = this entity
Fired if something is currently touching this trigger when TouchTest is fired.
OnNotTouching  (存在于自 起源2007 以来)
!activator = !caller = this entity
Fired if nothing is currently touching this trigger when TouchTest is fired.

相关条目