本文与游戏《传送门2》有关。点击这里查看更多信息。

面板

From Valve Developer Community
< Zh
Jump to navigation Jump to search
English (en)Français (fr)Русский (ru)中文 (zh)Translate (Translate)

"未来的建筑板材!"
——凯夫·约翰逊"

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

Note.png注意:注意与VGUI面板元素(en)区分

创建面板

1. 创建prop_dynamic实体并设置以下参数:

属性名
世界模型 models/anim_wp/room_transform/arm64x64_interior.mdl
名称 panel1
保持动画 true
碰撞 非固体

2. 在模型上方创建32Lx32Wx2H的笔刷块,对齐模型与原点之间的空间。将其绑定到func_brush实体:

属性名
名称 panel1_brush
父级 panel1,panel_attach
Note.png注意:注意父级值采用特殊语法:逗号后的panel_attach附着点(en)标识,使笔刷能跟随prop_dynamic的动画。虽然Hammer中会显示红色错误,但游戏内可正常运作。

3. 创建logic_relay实体:

属性名
名称 relay_panel1_animation

并添加输出参数:

输出源 目标实体 目标输入 参数 延迟 单次触发
Io11.png OnTrigger panel1 SetAnimation (动画名称) 0.00 是(?)
Tip.png提示:通过实体属性窗口的Model标签查看可用动画

面板模型与附着点列表

除标准模型外,还可选用以下面板模型。注意替换对应的附着点名称(非动画模型建议使用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=停止),可实现快慢动作效果。有两种设置方式:

全局设置法(影响实体所有动画):

输出源 目标实体 目标输入 参数 延迟 单次触发
Io11.png OnAnimationBegun !self SetPlaybackRate 5 0.00

!self(en)指代实体自身,上例将使动画加速5倍播放。

精准控制法(通过trigger_once等触发):

输出源 目标实体 目标输入 参数 延迟 单次触发
Io11.png OnStartTouch arm_0 SetAnimation pitflings_angled_01 0.00
Io11.png OnStartTouch arm_0 SetPlaybackRate 2 0.01

注意:播放速率指令需延迟0.01秒执行,否则会被默认值覆盖。

启动动画面板

传送门2 传送门2某些主题中,面板会播放从瘫软状态"苏醒"的启动动画。正确运用可大幅提升场景动态感:

1. 创建prop_dynamic并设置:

属性名
世界模型 models/anim_wp/room_transform/arm64x64_interior.mdl
默认动画 powerup(X_0Y)idleend
Note.png注意:powerupA_01等大量动画中选择最适合的

2. 创建对齐面板的笔刷并绑定到func_brush

属性名
父级 panel1,panel_attach

3. 通过logic_auto添加地图加载时的初始化动画:

输出源 目标实体 目标输入 参数 延迟 单次触发
Io11.png OnMapSpawn panel1 SetAnimation powerup(X_0Y)idle 0.50 是(?)

4. 最后用trigger_look等触发器激活完整启动动画

另请参阅