Zh/Box dropper: Difference between revisions
< Zh
Jump to navigation
Jump to search
(汉化...个屁) |
(→自动补充机制) |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{ | {{LanguageBar|Portal_Box_Dropper|title=传送门:投放器制作教程}} | ||
{{Back | Portal Level Creation|返回传送门关卡制作}} | |||
{{toc-right}} | |||
本教程将逐步演示如何制作[[Portal|传送门]]测试密室中常见的'''投放器'''(官方名:'''维生装置通风口''')。该装置可在玩家原有配重存储方块被销毁时提供新方块。 | |||
== 基础构造 == | |||
=== 投放器模型 === | |||
[[File:Box dropper models.jpg|right|thumb|300px|模型组件]] | |||
1. 创建{{ent|prop_dynamic}},设置模型为<code>models/props/box_dropper.mdl</code> | |||
2. 创建第二个{{ent|prop_dynamic}},命名为<code>box_dropper_model_cover</code>,模型设为<code>models/props/box_dropper_cover.mdl</code> | |||
3. 将两个实体对齐至目标位置 | |||
{ | === 顶部拱形结构 === | ||
{{ | 使用[[Hammer Arch Properties|拱形工具]]创建尺寸为<code>128L*128W*16H</code>的架构,参数设置: | ||
{{ | {| class="wikitable" | ||
! 属性 !! 值 | |||
|- | |||
| 墙体厚度 || 24 | |||
|- | |||
| 边数 || 8 | |||
|- | |||
| 弧度 || 360° | |||
|- | |||
| 起始角度 || 0° | |||
|} | |||
* 将结构绑定至{{ent|func_detail}} | |||
* 使用{{L|Hammer Vertex Tool|顶点编辑工具}}调整为矩形中空形态 | |||
* 纹理贴图: | |||
- 内缘:<code>metal/metalwall061f</code> | |||
- 底面:<code>concrete/concrete_modular_ceiling001a</code> | |||
<gallery> | <gallery> | ||
Image:Box dropper arch.jpg| | Image:Box dropper arch.jpg|原始拱形 | ||
Image:Box dropper arch2.jpg| | Image:Box dropper arch2.jpg|顶点编辑后 | ||
Image:Box dropper arch3.jpg| | Image:Box dropper arch3.jpg|贴图完成 | ||
</gallery> | </gallery> | ||
=== 垂直通道 === | |||
[[File:Box_dropper_shaft.jpg|right|thumb|300px|通道外观]] | |||
[[File:Box_dropper_shaft2.jpg|right|thumb|300px|通道内部结构]] | |||
1. 创建<code>128L*128W*256H</code>的垂直通道 | |||
2. 使用[[clipping tool|分割工具]]将各面均分 | |||
3. 纹理贴图: | |||
- 下部内壁:<code>metal/metalwall_bts_006a</code> | |||
- 上部内壁:<code>metal/metalwall_bts_006b_gradient</code> | |||
- 顶部:<code>lights/light_orange001</code> | |||
== 功能系统 == | |||
=== 方块模板 === | |||
1. 在通道顶部创建<code>128L*128W*112H</code>的{{ent|func_detail}}空间(使用<nodraw>纹理) | |||
2. 中央放置{{ent|prop_physics}}实体: | |||
- 模型:<code>models/props/metal_box.mdl</code> | |||
- 命名:<code>box</code> | |||
- 输出设置: | |||
{| class="wikitable" | |||
| OnOutOfWorld || !activator || Kill | |||
|- | |||
| OnOutOfWorld || logic_drop_box || Trigger | |||
|} | |||
3. 创建{{ent|point_template}}: | |||
- 命名:<code>box_template</code> | |||
- 模板目标:<code>box</code> | |||
4. 通道顶部附近创建{{ent|env_entity_maker}}: | |||
- 命名:<code>entity_box_maker</code> | |||
- 关联模板:<code>box_template</code> | |||
5. 创建{{ent|filter_activator_name}}过滤器: | |||
- 命名:<code>filter_boxes</code> | |||
- 过滤名称:<code>box</code> | |||
=== 舱门控制 === | |||
[[File:Box_dropper_stop_plugging.jpg|right|thumb|300px|防堵塞组件]] | |||
1. 创建<code>96L*96W*4H</code>的{{ent|func_brush}}: | |||
- 命名:<code>stop_tube_plugging</code> | |||
- 初始状态:禁用 | |||
2. 创建<code>128L*128W*128H</code>的{{ent|trigger_multiple}}: | |||
- 命名:<code>trigger_box_dropper_clear</code> | |||
- 过滤器:<code>filter_boxes</code> | |||
- 标志设置: | |||
{{entity-flag-start}} | |||
{{entity-flag|Physics Objects|on}} | |||
{{entity-flag|Clients|off}} | |||
{{entity-flag-end}} | |||
- 输出链: | |||
{| class="wikitable" | |||
| OnEndTouch || 执行动作 | |||
|- | |||
| → entity_box_maker || 生成新方块 | |||
|- | |||
| → box_dropper_model_cover || 播放关闭动画 | |||
|- | |||
| → stop_tube_plugging || 启用防堵塞 | |||
|} | |||
=== 逻辑控制 === | |||
创建{{ent|logic_relay}}: | |||
- 命名:<code>logic_drop_box</code> | |||
- 输出设置: | |||
{| class="wikitable" | |||
| OnTrigger || 执行动作 | |||
|- | |||
| → box_dropper_model_cover || 播放开启动画 | |||
|- | |||
| → stop_tube_plugging || 禁用防堵塞 | |||
|- | |||
| → trigger_box_dropper_clear || 启用触发区域 | |||
|} | |||
== 进阶配置 == | |||
=== 自动补充机制 === | |||
当方块被{{L|Creating_a_portal/object_fizzler|分解立场}}或{{L|Creating poison water|毒液}}销毁时: | |||
1. 对于湮灭场:在{{ent|trigger_portal_cleanser}}添加<code>OnDissolveBox → logic_drop_box:Trigger</code>输出 | |||
2. 对于毒液:在液体区域创建{{ent|trigger_multiple}}: | |||
- 过滤器:<code>filter_boxes</code> | |||
- 输出设置: | |||
{| class="wikitable" | |||
| OnStartTouch || 执行动作 | |||
|- | |||
| → !activator || 销毁方块 | |||
|- | |||
| → logic_drop_box || 触发补充 | |||
|} | |||
{{ACategory|Portal|传送门系列}} | |||
{{ACategory|Level Design|关卡设计}} | |||
{{ACategory|Tutorials|教程}} |
Latest revision as of 04:56, 27 June 2025
本教程将逐步演示如何制作传送门测试密室中常见的投放器(官方名:维生装置通风口)。该装置可在玩家原有配重存储方块被销毁时提供新方块。
基础构造
投放器模型
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° |
起始角度 | 0° |
- 将结构绑定至func_detail
- 使用顶点编辑工具 调整为矩形中空形态
- 纹理贴图:
- 内缘: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*112H
的func_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*4H
的func_brush:
- 命名:stop_tube_plugging
- 初始状态:禁用
2. 创建128L*128W*128H
的trigger_multiple:
- 命名:trigger_box_dropper_clear
- 过滤器:filter_boxes
- 标志设置:
Flag | ||||
![]() |
Physics Objects | {{{3}}} | ||
![]() |
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 | 启用触发区域 |
进阶配置
自动补充机制
当方块被分解立场 或毒液 销毁时:
1. 对于湮灭场:在trigger_portal_cleanser添加OnDissolveBox → logic_drop_box:Trigger
输出
2. 对于毒液:在液体区域创建trigger_multiple:
- 过滤器:filter_boxes
- 输出设置:
OnStartTouch | 执行动作 |
→ !activator | 销毁方块 |
→ logic_drop_box | 触发补充 |