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

From Valve Developer Community
< Zh
Jump to navigation Jump to search
English (en)Русский (ru)中文 (zh)Translate (Translate)
传送门关卡设计
Note.png注意:神人网站不知道发什么颠,所有code词语都会自动跑到句子最后面去,故本页使用<单纯的边框>代替
Warning.png警告:原文巨量使用code语句,因此翻译可能出现大量来历不明的内容
本页无聊到爆

引言

本教程将向你展示如何创建能量球发射器和捕获器。

发射器

发射器底座

混凝土板

创建一个 8宽*128长*128高的 <nodraw(en)> 笔刷。 将这个笔刷绑定为 func_detail(en). 用 <concrete/concrete_modular_wall001a> 对正面进行纹理处理,用 <signage/hazard_orange_03b> 对边框进行纹理处理。如果纹理没对齐,旋转它们。

Note.png注意:如果你的发射器位于金属墙上,则不需要底座

发射器模型

发射器模型

创建一个 prop_dynamic(en) 实体并输入以下属性:

Property Name Value
Name ball_spawner_prop
World Model models/props/combine_ball_launcher.mdl

发射器光照

发射器灯光实体

创建一个 <light(en)> 实体并输入以下属性:

Property Name Value
Brightness 218 76 26 30
BrightnessHDR 218 76 26 30

将灯泡放在发射器模型内。

发射器碰撞箱

碰撞箱笔刷

创建一个使用<playerclip>纹理、32宽*64长*64高的笔刷。将此画笔笔刷放在发射器底座前面。

发射器noportal笔刷

noportal笔刷大小

创建一个使用<invisible>纹理,8宽*96长*96高的笔刷。

Note.png注意:如果你的发射器位于金属墙上,则不需要 noportal 该笔刷

发射器顶点碰撞箱

发射器顶点碰撞

创建一个使用<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
Note.png注意:可以更改<Min ball speed> 和 <Max ball speed>的数值,但请确保它们是相同的值。这两条项目的最小值为 200,最大值为 400。

有时需要让发射器开始处于非活动状态,这可以在flags下找到,并理所当然的在你激活连接到它的触发器时启动。

只需对触发器输入以下输出:

  My Output Target Entity Target Input Parameter Delay Only Once
Io21.png OnPostSpawnBall ball_spawner_prop SetAnimation close 0.00 No

捕获器

Note.png注意:捕获器是半衰期2:第一章(en)版本的魔改版。

捕获器底座

底座

使用纹理 <nodraw> 创建两个 8宽*40长*128高 的笔刷。

再使用纹理 <nodraw> 创建两个 8宽*48长*40高 的笔刷。

concrete/concrete_modular_wall001a 对正面纹理,并用 <signage/hazard_orange_03b对外边缘进行纹理处理。如果纹理未对齐,转它。

创建一个使用 <playerclip> 纹理、 8宽*48长*48高 的笔刷,并将画笔放在混凝土底座内,这样玩家就不会掉下来(如果在地上的话)

Note.png注意:如果在金属墙上,无需底座

捕获器内部

内部

整两个 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

输入以下输出:

  My Output Target Entity Target Input Parameter Delay Only Once
Io21.png OnSpawn ball_trap_1_ball SetParentAttachment ball_attachment 0.00 No
Io21.png OnSpawn ball_trap_1_sprite SetParentAttachment ball_attachment 0.00 No

捕获器trigger

TRIGGERRR

创建一个 96宽*96长*32高 的八边形圆柱,使用 trigger 纹理

使用Hammer Transform Dialog对话框,将Y旋转值设为90。

将笔刷放在捕手内。

随后转为实体 trigger_multiple输入属性:

Property Name Value
Name ball_trap_1
Filter Name filter_combine_ballpermit_alt

输入以下输出:

  My Output Target Entity Target Input Parameter Delay Only Once
Io21.png OnTrigger !activator Kill <none> 0.00 No
Io21.png OnTrigger ball_trap_1_ball Enable <none> 0.00 No
Io21.png OnTrigger ball_trap_1_housing SetAnimation close 0.00 No
Io21.png OnTrigger ball_trap_1_housing SetAnimation closed 2.00 No
Io21.png OnTrigger ball_trap_1_sprite ShowSprite <none> 0.00 No
Io21.png OnTrigger energy_ball_launcher Disable <none> 0.00 No
Io21.png OnTrigger sound_activate PlaySound <none> 0.00 No
Io21.png OnTrigger spotlight1 LightOff <none> 0.00 No

在“flags”下,修改以下内容:

Flag
Checkbox-off.png Clients
Checkbox-on.png Physics Objects

完 成

你应该拥有与捕手相同数量的发射器。如果你有多个捕获器和启动器,请记住更改trigger输出中的energy_ball_launcher。