测试门(Portal 2)
< Zh
Jump to navigation
Jump to search
测试室舱门是标准测试课程中的双圆形门结构,其中一侧显示有《Portal 2》的"出口"标志。
在官方关卡中,此类舱门专门用于划分测试室的起止区域以分隔不同谜题(与前作不同,《Portal》中同类舱门可作为谜题元素出现在课程中途)。

prop_testchamber_door是生成舱门视觉效果、碰撞体和音效的核心实体,其配套实例运用了func_areaportalwindow及多种防漏洞机制。
舱门创建指南
需放置prop_testchamber_door
实体并配置激活器:
- 使用prop_dynamic时,通过SetAnimation等逻辑标记控制开关
- 如需多次输入触发,建议配合math_counter实体:
- 设置MaxLegalValue为触发次数 - 配置OnHitMax(执行开门动画)和OnChangedFromMax(执行关门动画)输出 - 每个触发实体应设置增减计数器值的逻辑
舱门调试方案
方法一:强制清除
当玩家或物体卡在门内时,需配置以下实体(尺寸:128×104×8单位,居中放置):
- func_brush(使用tools/toolsinvisible纹理)
- trigger_hurt(伤害值1000,伤害类型CRUSH)
- trigger_portal_cleanser
配置prop_testchamber_door
输出逻辑:
输出事件 目标实体 执行指令 延迟 OnClose door_blocker Enable 0.25秒 OnClose 清除触发器 Enable 立即 OnOpen door_blocker Disable 立即 OnOpen 清除触发器 Disable 立即
方法二:智能检测
(更复杂的非致命方案,可能影响谜题设计) 核心组件:
- func_brush(隐形纹理)
- 2个logic_branch + 1个logic_branch_listener
- trigger_multiple(尺寸128×104×16)
- trigger_portal_cleanser
关键逻辑:
1. 通过trigger_multiple
检测玩家位置
2. 使用logic_branch
判断门体状态
3. 当玩家离开且门体需关闭时,触发Close
指令
(完整参数配置参照原文表格)
Template:ACategory:Portal 2 Level Design Template:ACategory:Tutorials