传送门:投放器制作教程

From Valve Developer Community
< Zh
Jump to navigation Jump to search
English (en)中文 (zh)Translate (Translate)
返回传送门关卡制作

本教程将逐步演示如何制作传送门测试密室中常见的投放器(官方名:维生装置通风口)。该装置可在玩家原有配重存储方块被销毁时提供新方块。

基础构造

投放器模型

模型组件

1. 创建prop_dynamic,设置模型为models/props/box_dropper.mdl 2. 创建第二个prop_dynamic,命名为box_dropper_model_cover,模型设为models/props/box_dropper_cover.mdl 3. 将两个实体对齐至目标位置

顶部拱形结构

使用拱形工具创建尺寸为128L*128W*16H的架构,参数设置:

属性
墙体厚度 24
边数 8
弧度 360°
起始角度
 - 内缘:metal/metalwall061f
 - 底面:concrete/concrete_modular_ceiling001a

垂直通道

通道外观
通道内部结构

1. 创建128L*128W*256H的垂直通道 2. 使用分割工具将各面均分 3. 纹理贴图:

  - 下部内壁:metal/metalwall_bts_006a
  - 上部内壁:metal/metalwall_bts_006b_gradient
  - 顶部:lights/light_orange001

功能系统

方块模板

1. 在通道顶部创建128L*128W*112Hfunc_detail空间(使用<nodraw>纹理) 2. 中央放置prop_physics实体:

  - 模型:models/props/metal_box.mdl
  - 命名:box
  - 输出设置:
OnOutOfWorld !activator Kill
OnOutOfWorld logic_drop_box Trigger

3. 创建point_template

  - 命名:box_template
  - 模板目标:box

4. 通道顶部附近创建env_entity_maker

  - 命名:entity_box_maker
  - 关联模板:box_template

5. 创建filter_activator_name过滤器:

  - 命名:filter_boxes
  - 过滤名称:box

舱门控制

防堵塞组件

1. 创建96L*96W*4Hfunc_brush

  - 命名:stop_tube_plugging
  - 初始状态:禁用

2. 创建128L*128W*128Htrigger_multiple

  - 命名:trigger_box_dropper_clear
  - 过滤器:filter_boxes
  - 标志设置:
    
Flag
Checkbox-on.png Physics Objects {{{3}}}
Checkbox-off.png Clients {{{3}}}
  - 输出链:
OnEndTouch 执行动作
→ entity_box_maker 生成新方块
→ box_dropper_model_cover 播放关闭动画
→ stop_tube_plugging 启用防堵塞

逻辑控制

创建logic_relay: - 命名:logic_drop_box - 输出设置:

OnTrigger 执行动作
→ box_dropper_model_cover 播放开启动画
→ stop_tube_plugging 禁用防堵塞
→ trigger_box_dropper_clear 启用触发区域

进阶配置

自动补充机制

当方块被湮灭场(en)毒液(en)销毁时: 1. 对于湮灭场:在trigger_portal_cleanser添加OnDissolveBox → logic_drop_box:Trigger输出 2. 对于毒液:在液体区域创建trigger_multiple

  - 过滤器:filter_boxes
  - 输出设置:
OnStartTouch 执行动作
→ !activator 销毁方块
→ logic_drop_box 触发补充