传送带(Portal 2)

From Valve Developer Community
< Zh
Revision as of 06:18, 3 July 2025 by WoShiGeNiCheng (talk | contribs) (Created page with "{{LanguageBar|Conveyor (Portal 2)|title=传送带(Portal 2)}} == 概述 == 要创建《Portal 2》的传送带系统,需要创建一系列{{L|func_tracktrain}}实体,每个实体都配有{{L|path_track}}路径点,并通过首尾相连形成闭环(第一个路径点需勾选''传送到此路径点''选项)。 {{note|关于如何让颜料附着在传送带上,请参阅页面底部的{{L|Conveyor_(Portal_2)#Notes|注意事项}}}} 将每个{{L|func_tracktra...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
English (en)Русский (ru)中文 (zh)Translate (Translate)

概述

要创建《Portal 2》的传送带系统,需要创建一系列func_tracktrain(en)实体,每个实体都配有path_track(en)路径点,并通过首尾相连形成闭环(第一个路径点需勾选传送到此路径点选项)。

Note.png注意:关于如何让颜料附着在传送带上,请参阅页面底部的注意事项(en)

将每个func_tracktrain(en)实体与模型为props_factory/conveyor_belt_module.mdlprop_dynamic(en)进行父级绑定,使其沿路径移动。

创建传送带轨道

Note.png注意:本教程以四段式短传送带为例,实际可根据需要增减段数

1. 创建模型为props_factory/conveyor_belt.mdlprop_static(en)实体

2. 复制并排列四个该实体作为传送带基座:

ConveyorPortal2 1.png

创建传送带

3. 创建模型为props_factory/conveyor_belt_module.mdlprop_dynamic(en)实体

4. 将其原点与步骤1中基座的原点对齐:

确保传送带模型底部高于基座至少8单位

设置移动

5. 创建20x24x16单位的矩形笔刷,使用nodraw(en)纹理,放置在传送带下方填充空隙:

ConveyorPortal2 3.png

6. 同时选中传送带和矩形笔刷,复制到每个基座原点位置:

本示例需要七组单元

7. 隐藏除第一组外的所有实体(Hammer快捷键:H = 隐藏选中,U = 显示全部)

8. 在每个nodraw笔刷内部创建path_track(en)实体确保原点重合:

ConveyorPortal2 5a.png
共需创建七组nodraw笔刷与路径点
Note.png注意:后续操作将在隐藏模型状态下进行,仅处理nodraw笔刷和路径点

9. 将每个nodraw笔刷转化为func_tracktrain(en)实体,按conveyor_mover01至conveyor_mover07命名,设置参数:

最大速度:60
初始速度:60
角度变化:永不
conveyor_mover01的'第一停止目标'设为'conveyor_path01'
conveyor_mover02的'第一停止目标'设为'conveyor_path02'
...(依此类推)

10. 隐藏func_tracktrain实体,为路径点命名为conveyor_path01至conveyor_path07

11. 设置每个路径点的'下一停止目标'指向下一个路径点,最终路径点指向首个路径点:

橙色连线表示路径点间的关联关系

最终设置

12. 为首个路径点(conveyor_path01)勾选'传送到此路径点'标志:

确保传送带单元在末端直接传回起点
Note.png注意:替代方案:可使用透明笔刷后的linked_portal_door(en)实体代替传送功能

13. 将每个传送带模型父级绑定到对应的func_tracktrain实体

注意事项

  • 上述方法无法让颜料附着,需将动态模型替换为应用了metal/conveyor_belt材质的func_tracktrain笔刷
  • func_tracktrain接受RemovePaint输入指令

外部链接