制作升降平台
本教程会展示如何制作Portal实验室中的升降平台。这些平台或面板通常以升高状态出现,并在激活某物(如能量球捕获器或直立开关)时降低。
激活后,当玩家踩到升降平台上时,它就会升起。

创建
1.创建不可见的移动源
创建一个使用<tools/toolsinvisible >纹理, <16宽*16长*128高>的笔刷。 将这个笔刷绑定为<func_door > 实体,并确保其所有flag均未勾选。接下来,在其属性输入以下内容:
Property Name | Value |
---|---|
Name | lift |
Speed | 20 |
Start Sound | apc_engine_start |
Stop Sound | apc_engine_stop |
Delay Before Reset | -1 |
Move Direction | 90 0 0 |
2.创建杆子
创建一个 <24宽*24长*136高> 的 12 面圆柱体并将其定位,使其与笔刷 <lift> 位于同一位置。将其绑定为 <func_brush>并将其Name设为<brush_lift> , 再将 Parent 设为 <lift>。
最后,对笔刷应用<metal/metal_lift001>纹理
3.创建平台模型
放一个 <prop_dynamic> 实体,并为它起名 <model_lift_platform>,而 Parent则设为 <lift>, 将World Model设为 <models/props/lift_platform.mdl>. 将其放置在<brush_lift>笔刷顶部,使其原点位于笔刷顶部向下 2 个单位。
4.创建玻璃层
创建一个 120宽*120长*1高 的笔刷。它的顶部和底部使用 <glass/glasswindow_frosted_003> 纹理,并为剩下的所有面使用 <tools/toolsnodraw >纹理。 将画笔定位到 <model_lift_platform> 模型实体的中间,其底部应位于<model_lift_platform>的原点向上 6 个单位。
接下来,创建一个使用tools/toolsplayerclip 纹理, <128宽*128长*4高> 的笔刷。使其包住<model_lift_platform 模型实体>,其底面应位于<model_lift_platform>的原点向上四个单位。
现在,选择玻璃笔刷和Playerclip笔刷,并将它们绑定为同一个 <func_brush> 实体。给它起名<lift_brush_2>, 并将其 Parent设为<lift>.
5.自动升降
创建一个使用tools/toolstrigger纹理、 <112宽*128长*92高> 的笔刷。 将它绑定为 <trigger_multiple>实体,并起名 <lift_up_trigger>, 将它的Parent 设为 lift
,并将 Start Disabled flag设为 <Yes>>。最后,为trigger添加如下输出:
My Output | Target Entity | Target Input | Parameter | Delay | Only Once | |
---|---|---|---|---|---|---|
![]() |
OnTrigger | lift | Close | 0.00 | No | |
![]() |
OnEndTouch | lift | Open | 0.00 | No |
升降平台已经完成,可以在地图中使用了。
完成
第一步
将电梯放置在地图中应位于的位置。 对于<lift_brush_2>(即玻璃和Playerclip), Playerclip的顶部应位于上层地板水平向下 2 个单位。如果电梯需要行驶超过 128 个单位,请将 <brush_lift> 和 <lift> 笔刷向下拉伸到较低的位置。<lift> 笔刷的长度决定了升降平台的移动距离。
第二步
向某个实体添加一些输出,。
OPEN输出将激活<lift>(上下移动的柱子),而Enable将激活<lift_up_trigger>(刚才的trigger).