测试门(Portal 2)
< Zh
		
		
		
		Jump to navigation
		Jump to search
		测试室舱门是标准测试课程中的双圆形门结构,其中一侧显示有《Portal 2》的"出口"标志。
在官方关卡中,此类舱门专门用于划分测试室的起止区域以分隔不同谜题(与前作不同,《Portal》中同类舱门可作为谜题元素出现在课程中途)。
 注意:在《Portal 2》合作模式中,测试室舱门不再用于分隔谜题,转而使用气闸门系统。
注意:在《Portal 2》合作模式中,测试室舱门不再用于分隔谜题,转而使用气闸门系统。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


























