制作能量球发射器与捕获器


本页无聊到爆。
引言
本教程将向你展示如何创建能量球发射器和捕获器。
发射器
发射器底座
创建一个 8宽*128长*128高的 <nodraw > 笔刷。 将这个笔刷绑定为 func_detail
. 用 <concrete/concrete_modular_wall001a> 对正面进行纹理处理,用 <signage/hazard_orange_03b> 对边框进行纹理处理。如果纹理没对齐,旋转它们。

发射器模型
创建一个 prop_dynamic 实体并输入以下属性:
Property Name | Value |
---|---|
Name | ball_spawner_prop |
World Model | models/props/combine_ball_launcher.mdl |
发射器光照
创建一个 <light > 实体并输入以下属性:
Property Name | Value |
---|---|
Brightness | 218 76 26 30 |
BrightnessHDR | 218 76 26 30 |
将灯泡放在发射器模型内。
发射器碰撞箱
创建一个使用<playerclip>纹理、32宽*64长*64高的笔刷。将此画笔笔刷放在发射器底座前面。
发射器noportal笔刷
创建一个使用<invisible>纹理,8宽*96长*96高的笔刷。

发射器顶点碰撞箱
创建一个使用<nodraw>纹理、1宽*16长*16高的笔刷。将此笔刷放置在模型的前面。将此笔刷绑定为func_detail
发射器生成点
创建一个 <point_energy_ball_launcher>实体,并将该实体放置在碰撞笔刷的正前方,接触外表面。 更改其属性:
Property Name | Value |
---|---|
Name | energy_ball_launcher |
Ball count | 1 |
Min ball speed | 200 |
Max ball speed | 200 |
Ball radius | 12.0 |
Ball Respawn Time | 2.0 |

有时需要让发射器开始处于非活动状态,这可以在flags下找到,并理所当然的在你激活连接到它的触发器时启动。
只需对触发器输入以下输出:
My Output | Target Entity | Target Input | Parameter | Delay | Only Once | |
---|---|---|---|---|---|---|
![]() |
OnPostSpawnBall | ball_spawner_prop | SetAnimation | close | 0.00 | No |
捕获器

捕获器底座
使用纹理 <nodraw> 创建两个 8宽*40长*128高 的笔刷。
再使用纹理 <nodraw> 创建两个 8宽*48长*40高 的笔刷。
用 concrete/concrete_modular_wall001a
对正面纹理,并用 <signage/hazard_orange_03b对外边缘进行纹理处理。如果纹理未对齐,转它。
创建一个使用 <playerclip> 纹理、 8宽*48长*48高 的笔刷,并将画笔放在混凝土底座内,这样玩家就不会掉下来(如果在地上的话)

捕获器内部
整两个 16宽*16长*48高 的笔刷,使用 NODRAW 纹理。
整两个 16宽*48长*16高 的笔刷,使用 NODRAW 纹理。
整两个 16宽*48长*48高 的笔刷,使用 NODRAW 纹理。
丢到后面。
捕获器模型
创建一个 prop_dynamic实体,输入以下属性:
Property Name | Value |
---|---|
World Model | models/props/combine_ball_catcher.mdl |
Disable Shadows | Yes |
Name | ball_trap_1_housing |
捕获器外观
放一个env_sprite实体,改属性:
Property Name | Value |
---|---|
Name | ball_trap_1_sprite |
Parent | ball_trap_1_housing |
Render FX | Distort |
Render Mode | Additive |
Framerate | 30 |
Sprite Name | materials/sprites/physring1.vmt |
Scale | 1.5 |
Size of Glow Proxy Geometry | 0 |
另一个 env_sprite ,改属性:
Property Name | Value |
---|---|
Name | ball_trap_1_sprite |
Parent | ball_trap_1_housing |
Render FX | Distort |
Render Mode | World Space Glow |
Framerate | 30 |
Sprite Name | materials/sprites/glow01.vmt |
Scale | 2 |
Size of Glow Proxy Geometry | 0 |
捕获器的球
创建一个prop_dynamic实体,改属性
Property Name | Value |
---|---|
Parent | ball_trap_1_housing |
World Model | models/Effects/combineball.mdl |
Name | ball_trap_1_ball |
Start Disabled | Yes |
捕获器直射灯
创建一个point_spotlight实体,改:
Property Name | Value |
---|---|
Name | spotlight1 |
Color | 218 76 26 |
Spotlight Length | 256 |
Spotlight Width | 32 |
HDR color scale | 2.0 |
捕获器过滤器
放一个 filter_combineball_type
实体,改:
Property Name | Value |
---|---|
Parent | ball_trap_1_housing |
Name | filter_combine_ballpermit_alt |
Ball Type | Launched by point_combine_ball_launcher |
声音
放一个 ambient_generic 实体,改:
Property Name | Value |
---|---|
Name | sound_activate |
Sound Name | AlyxEMP.Charge |
捕获器设置
放一个 logic_relay 实体,改:
Property Name | Value |
---|---|
Name | relay_ball_trap_1_setup |
输入以下输出:
捕获器trigger
创建一个 96宽*96长*32高 的八边形圆柱,使用 trigger 纹理
使用Hammer Transform Dialog对话框,将Y旋转值设为90。
将笔刷放在捕手内。
随后转为实体 trigger_multiple输入属性:
Property Name | Value |
---|---|
Name | ball_trap_1 |
Filter Name | filter_combine_ballpermit_alt |
输入以下输出:
在“flags”下,修改以下内容:
Flag | ||||
![]() |
Clients | |||
![]() |
Physics Objects | |||
完 成
你应该拥有与捕手相同数量的发射器。如果你有多个捕获器和启动器,请记住更改trigger输出中的energy_ball_launcher。