面板
< Zh
Jump to navigation
Jump to search
面板 是贯穿传送门2的建筑元素。它们通过机械臂单独操控,共同构成测试室。这种独立运动机制让房间能对玩家做出反应——既可形成楼梯、新平台,也能像门一样开启,营造出房间"活过来"的沉浸感。

创建面板
1. 创建prop_dynamic实体并设置以下参数:
属性名 值 世界模型 models/anim_wp/room_transform/arm64x64_interior.mdl 名称 panel1 保持动画 true 碰撞 非固体
2. 在模型上方创建32Lx32Wx2H
的笔刷块,对齐模型与原点之间的空间。将其绑定到func_brush实体:
属性名 值 名称 panel1_brush 父级 panel1,panel_attach

panel_attach
是附着点 标识,使笔刷能跟随prop_dynamic
的动画。虽然Hammer中会显示红色错误,但游戏内可正常运作。3. 创建logic_relay实体:
属性名 值 名称 relay_panel1_animation
并添加输出参数:

面板模型与附着点列表
除标准模型外,还可选用以下面板模型。注意替换对应的附着点名称(非动画模型建议使用prop_static以节省实体限额):
模型路径 | 是否动画 | 附着点名称 |
---|---|---|
anim_wp\arm_interior_192\arm_interior_128.mdl | 是 | N/A |
anim_wp\arm_interior_192\arm_interior_192.mdl | 是 | N/A |
anim_wp\arm_interior_192\video_arm.mdl | 是 | monitor_attach |
anim_wp\arm_interior_192\video_arm_big.mdl | 是 | monitor_attach |
anim_wp\circle_shield\circle_shield.mdl | 是 | panel_top |
anim_wp\framework\circle_shield_static.mdl | 否 | N/A |
anim_wp\room_transform\arm64x64_interior.mdl | 是 | panel_attach |
anim_wp\room_transform\arm64x64_interior_rusty.mdl | 是 | panel_attach |
anim_wp\telescope_arm\telescope_arm.mdl | 是 | panel_top |
anim_wp\telescope_arm_128\telescope_arm_128.mdl | 是 | panel_top |
anim_wp\telescope_arm_128\telescope_arm_128_glass.mdl | 是 | panel_top |
anim_wp\telescope_arm_128\telescope_arm_128_idle.mdl | 否 | N/A |
anim_wp\telescope_arm_128\telescope_arm_128_upidle.mdl | 否 | N/A |
anim_wp\telescope_arm_128\telescope_arm_128x256.mdl | 是 | panel_top |
anim_wp\telescope_arm_trans\telescope_arm_trans.mdl | 是 | panel_attach |
props_livingwall\armliving64x64.mdl | 是 | panel_attach |
anim_wp\arm_4panel.mdl | 是 | panel_attach |
动画播放速率
通过修改prop_dynamic的播放速率值(1=100%,2=200%,0.5=50%,0=停止),可实现快慢动作效果。有两种设置方式:
全局设置法(影响实体所有动画):
!self
指代实体自身,上例将使动画加速5倍播放。
精准控制法(通过trigger_once等触发):
注意:播放速率指令需延迟0.01秒执行,否则会被默认值覆盖。
启动动画面板
在 传送门2某些主题中,面板会播放从瘫软状态"苏醒"的启动动画。正确运用可大幅提升场景动态感:
1. 创建prop_dynamic并设置:
属性名 值 世界模型 models/anim_wp/room_transform/arm64x64_interior.mdl 默认动画 powerup(X_0Y)idleend

powerupA_01
等大量动画中选择最适合的2. 创建对齐面板的笔刷并绑定到func_brush:
属性名 值 父级 panel1,panel_attach
3. 通过logic_auto添加地图加载时的初始化动画:
4. 最后用trigger_look等触发器激活完整启动动画