【教程】制作救援关(压轴事件)
- 格式:doc
- 大小:1.17 MB
- 文档页数:25
【教程】制作救援关(压轴事件)求生之路2在一些战役的终局来让生还者通过电台呼救,击退一波一波的感染者和Tank后,通过交通载具来逃生.在tutorial_standards map里也有这个案例.最终事件的元素~以下是让终局生效的需做的几件事情:求生用的电台:trigger_finale,这只是一个无线电模型,换成别的也可以被标记为FINALE的导航区域一个逃生载具用来带走生还者(通常是带动画的prop_dynamic )用trigger_multiple来确认是否所有生还者都挺过来并逃进载具四个info_survivor_positions当生还者被救后会传送到一个封闭的小房间~可选择的放置物品:各种物资(弹药,武器,血包)结尾部分的一台摄像机为结尾部分做淡入淡出需要一些实体:env_fade entities为结尾部分滚动演员表一个实体:env_outtro_stats生还者用来防御的一个prop_minigun一个救援密室- 一个带门的小房间再在里面放置三个实体:info_survivor_rescue现在来放置一个无线电模型。
点击点实体工具从Objects下拉菜单选择trigger_finale.通过主视角将它放置到地上,再双击打开属性框。
Name参数改成radio在World model这一行点击再点击右边的Browse按钮.在Filter field(过滤区域)输入"radio" .选择模型"props\terror\hamradio.mdl" 再点确定,这个模型就是上图的模型Disable Shadows 参数改成Yes.Use Delay 参数更改为0参数说明:Disable Shadows 这表示允许我们发送输入信息到到这个无线电模型,但不允许阴影被绘制到桌上.Use Delay 这个很常用. 按按钮之后终局开始之前需要多少秒的时间. 这里保留默认值0.现在保存并编译你的地图吧。
在NAV上,记得将幸存者在终局防守的导航区域标记成FINALE。
如果幸存者没有完全进入标记有FINALE的区域,按下无线电时就会提示“请等所有人准备好”。
只有当所有幸存者都进入了标记有FINALE的导航区域,无线电才能按下。
注意:在任意地图的控制台里用"nav_flood_select FINALE" 就能查看所有带FINALE属性的导航区域。
你还可以用“nav_flood_select+其他属性”去查看被标记成其他属性的导航区域。
常用的导航区域属性:· PLAYER_START· EMPTY· CHECKPOINT· BATTLEFIELD· BATTLESTATION· FINALE· NOT_CLEARABLE· NO_MOBS· OBSCURED· RESCUE_CLOSET· RESCUE_VEHICLE现在,让我们制作逃生载具.在求生之路2,四个战役各有不同的逃生载具. 如:直升机,船,飞机,装甲车.实际上任何都行.甚至是一个敞开门的房间。
为了让Z版、D版都能用,本教程选择箱型车作为逃生载具。
选择点实体工具,在objects中选择prop_dynamic,不能用prop_static,否则它就无法移动。
选择箱型车模型:models/props/de_nuke/truck_nuke.mdl然后将这个模型放在当救援到来时它所在的地方。
现在有了做为逃生载具的模型.现在我们需要一个固实体func_tracktrain来让模型移动.创建func_tracktrain选择建造工具,在2D视图中绘制一个固体,长宽跟箱型车一样,按Enter 创建。
但它很矮,我一般将它的高度设置为10个单位。
让它紧贴地表和箱型车模型底部。
然后将这个固体的纹理改为nodraw,它看起来如下图。
让这个固体被选中,按Ctrl+T. ,将它转变为固实体。
双击它,打开属性框,更改属性:(本教程所有参数单词前面或后面均没有空格)Class 参数改为 func_tracktrainName 参数改为 trainFirst Stop Target 参数改为 train_track01.Max Speed参数改为 25Height above track 参数改为 0参数说明:First Stop Target第一站目标,参数上是一个实体名称,现在在属性框它是红色的,这不要紧,因为还没有这个实体。
我们将在之后创建它。
Max Speed最大速度,就是当救援到来时它的移动速度。
25的速度和幸存者扎针跑的速度差不多,你要想设置成100也可以。
Height above track 轨道高度,因为箱型车是在地面上开并紧贴这个固体,所以高度是0。
但在一些飞机的动画中,这个高度可能就要更改。
func_tracktrain的Flags标签.切换到Flags标签.勾选No User Control框.勾选Fixed Orientation框.勾选Is unblockable by player框.点击Apply 关闭窗口添加实体path_track将你的箱型车模型和那个固实体放在初始位置,就是救援没有到来时它所在的位置,应当把它藏起来,让玩家看不到。
现在我们需要建立一条路径让我们的箱型车知道怎样运行。
选择点实体工具,在Objects下拉菜单选择 path_track,在3D视图上创建它,它是一个立方体。
在2D视图中将它放置到箱型车的正中间。
无论是XYZ都要放到中间,让path_track的中心的小X和箱型车位置的小X基本重合,相差一点没有关系,但不能相差太远。
双击打开它的属性框Name 参数改成 train_track01Next Stop Target 参数改成 train_track02参数说明现在这第一个path_track的位置就是箱型车的第一站位置,就是救援没有到来时它所在的位置Next Stop Target就是箱型车第二站的位置,就是救援到来时它所在的位置点Apply 并关闭属性窗口。
现在放置第二个path_track。
你也可以复制第一个。
这个path_track的位置就是救援到来时箱型车应该在的位置的中心。
高度保持与第一个path_track一样。
然后更改属性参数Name参数改成train_track02Next Stop Target参数改成train_track03然后放置第三个path_track,这个path_track的位置就是在幸存者都到达箱型车后箱型车将要到达的位置的中心。
Name参数改成 train_track03Next Stop Target参数位置留空,因为已经没有下一站了。
如果你成功的制作了三个path_track,你会看到三个path_track会有两根线,这些线就是箱型车的运动轨迹,如下图(中间那个立方体是第二个path_track)。
回到prop_dynamic,就是那个箱型车模型,并打开它的属性.Parent参数改成train这就意味着不管func_tracktrain 移动到哪里,箱型车模型都会跟随着移动.,因为func_tracktrain是箱型车的Parent啊错误更改:立方体应该紧贴地面,否则你会看到箱型车悬空。
抱歉!现在,我们需要用trigger_multiple 来检查是否所有幸存者都登上了箱型车用建造工具用建造一个固体,并按Ctrl+T 转换为固实体。
它的位置位于当救援到来时箱型车所在的位置。
这个固实体一定要完全包绕当救援到来箱型车所在的位置,以便于当幸存者一踏上箱型车,这个固实体就能检测到。
将这个固实体6个面的材质都更改为trigger在过滤器中输入"trigger" 并选择"tools/toolstrigger" 材质.包围住当救援到来时箱型车应当在的位置。
双击打开其属性框Class参数改成trigger_multiple并点击Apply来看属性.Name参数改成train_triggerStart Disabled参数改成YesEntire Team Number参数改成Survivor参数说明Start Disabled设置成yes表明幸存者无法一开始就启动它,需要等待救援到来时才能启动它。
切换到Flags确保Clients 框被勾选.切换到outputs标签,现在我们将开始制作输出输入。
其实并不难。
输出输入简单认识点击下面的Add...新建一个输出。
像下面的第二张图中那样,现在这个输出有一个红色的斜杠,说明它是错误,因为我们没有添加任何事件进去。
my output:当玩家或另一些实体对它做了动作,这个实体就会记录下来并触发相应动作。
就比如一个人被第二个人打了,那么第一个人被第二个人打就是输入。
那人接下来做的动作就是输出。
一个输出只能有一个被动动作。
taegets entities named:输出实体名字也就是要做触发事件的实体,比如第一个人被打了不服气,他想还手,那么手就是这个输出实体。
via this input:输出,就是触发相应的事件。
比如第一个人对第二个人还手。
with a parameter:参数,现在用不到。
就比如第一个人对第二个人还手时用的力度。
after a delay in:执行延迟。
单位是秒,当输入后多久开始输出,0.0代表立即执行。
就比如第一个人被打后多久还手。
fire once on:只执行一次,如果被打上勾代表只输出一次。
就比如第二个人无论打第一人多少次,第一个人只有开始还一次手。
现在我们来开始制作。
添加输出信息My output :OnEntireTeamStartTouchTargets entities :train_continue_relayVia this input:Trigger现在下面taegets entities named和via this input是红色的,说明它们现在是错误的。
我们将在以后创建它,现在点击apply应用就行了。
输出输入说明当幸存者触碰到这个实体时就会发送Trigger输出到一个叫做"train_continue_relay"的logic_relay.的实体-----------------------------------------------------现在,我们来设置logic_relay 当幸存者触碰它就能触发所有事件.选择点实体工具,在Objects下拉菜单选择"logic_relay".在主视角将其放置到"train_trigger"附近,双击打开属性框Name 参数改成train_continue_relay当你将名字设置成功后,你会发现属性框下面突然多出一个顶着小球的箭头,那是成功的输入标志。