火坑的建造

作者 trle, 2011 四月 10, 13:49:34

« 上一篇主题 - 下一篇主题 »

trle

【作者:moon_cn】


真是很久没写教程了,上次我们介绍了关卡里"水"的制作方法(详细见《建立有水的房间》),这次介绍的是"火"。


"火"在自制关卡中,往往扮演陷阱的角色,让Lara知道玩火是不好玩滴,呵呵;也有时候会帮助Lara在光线不好时照明;更有时会从事点燃火把、打开机关的工作。既然"火"这么重要,我们当然要详细介绍一下了。好,那我们就开始。


注意,本例中所有贴图和资源均来自tut1这个关卡编辑器自带的关卡,读者可自由在tut1工程中跟随本教程制作并学习。


首先,建立一个房间,作为我们演示"火"的场所。本例中,我选用了一个3×4的房间,并给房间贴上贴图。注意看第2列贴图,这是特殊的"栅栏"贴图,它特 殊就特殊在:你可以透过它的缝隙,看到贴图另一边的景色。神奇吧!不过现在我们只有1个房间,另一面肯定什么都看不见。不过稍候,我们会建立两个房间,让 大家看看效果如何。


http://gmly.info/wp-content/trle/fire1.jpg">fire1http://gmly.info/wp-content/trle/fire1-320x225.jpg">


在编辑器的wad选择菜单中,有四种"火"可以选用,FLAME、FLAME_EMITTER、FLAME_EMITTER2、FLAME_EMITTER3。让我们看看编辑器教程里是怎么描述它们的吧。


FLAME
这个东东如果被触发的话,会使Lara突然欲火焚身,不管Lara在什么位置。如果不加血或者跳到水里,就只能使用S/L大法了。这个法宝太厉害了,一般在Lara走错路或者扳错开关时使用,直接Lara导致死亡。大家用过一次就知道了,本节就不再讨论了。


注意,如果还不知道怎么"触发"火的话,请参看《触发器开门和显示敌人》这章,道理跟显示敌人的原理是一样的。


FLAME_EMITTER
这家伙的火焰比FLAME_EMITTER2要大的多,可以用来点燃火把。Lara碰到FLAME_EMITTER的话,也会焚身导致死亡。


FLAME_EMITTER2
火 焰比FLAME_EMITTER小,而且通过设置它的OCB代码,还能控制火焰大小和运动走向。OCB设置为1的话,为普通火焰的1/2大小。OCB设置 为2的话,火焰会跟这FLAME_EMITTER2锥型头所指的方向运动(这个也稍候再介绍)。OCB设置为3的话,火焰比设置成2更小。Lara碰到 FLAME_EMITTER2不会烧身,当然也不会死亡了。可以用来点燃火把。(FLAME_EMITTER2用法很多,稍候再具体介绍。)


FLAME_EMITTER3
在没有设置OCB的情况下,它的火焰很象燃烧的油发出来的一样,也会导致Lara死亡。不过如果给它1、2、3、4这些OCB代码,它将会变成蓝色闪电,稍候会介绍给大家。


好,火种介绍完了,开始实验。


我们在房间里将FLAME_EMITTER、FLAME_EMITTER2、FLAME_EMITTER3分别排放起来,再给这3个火种设置触发器,最后调节房间的亮度为32,32,32,这样房间就暗了下来,观起火来也格外美丽了,呵呵。如下图。


http://gmly.info/wp-content/trle/fire2.jpg">fire2http://gmly.info/wp-content/trle/fire2-320x246.jpg">


OK,完成后,我们看看游戏中的效果怎么样!从左向右依次为FLAME_EMITTER、FLAME_EMITTER2、FLAME_EMITTER3,有没有看出区别来?


http://gmly.info/wp-content/trle/fire3.jpg">fire3http://gmly.info/wp-content/trle/fire3-320x240.jpg">


对 了,我们先前不是介绍了特殊的"栅栏"贴图吗?它可以看到另一边房间的景色,刚才我们只是将火焰放在了地板上,太小儿科了,能不能做成象烧烤那样呢?好, 那我们开始做做看。烧烤一般是铁丝网上面搁肉,下面放碳,也就是说铁丝网分开了两个空间,这里可以看成是房间。放肉的房间我们已经有了(这里的肉就是 Lara小姐了=__=),我们还得做一个放燃料的房间。我们新建个1×3大小的房间,高度为1 click。贴上燃料的贴图。现在我们称它为"燃料"房间。如下图。


http://gmly.info/wp-content/trle/fire4.jpg">fire4http://gmly.info/wp-content/trle/fire4-320x193.jpg">


把这个"燃料"房间放到"烤肉"房间有"栅栏"贴图的下方,调整好高度后,我们做门。(这里跟《建立有水的房间》里一样,做的是垂直门,具体的做法,可参考那章节的内容。)完成后,点Face Edit和Draw Doors两个按钮后,就如下图所示。


http://gmly.info/wp-content/trle/fire5.jpg">fire5http://gmly.info/wp-content/trle/fire5-320x252.jpg">


现在我们做烤肉的"铁栅栏"。其实,铁栅栏就是一种贴图,原理跟《建立有水的房间》里给水面贴水波纹贴图一样的,只是水波纹贴图是可以穿过的,而这次铁栅栏贴图是不可以穿过的,那具体过程是怎么样的呢?


接 上面,我们看完做好门的效果后,先将Draw Doors按钮关闭,然后第一步,选中那扇通往"燃料"房间的门,怎么知道选中门了?看有没有出现"Pit to Room XX"的字样;第二步,点"Toggle Opacity"按钮(这个按钮与Toggle Opacity 2按钮功能类似,区别就在于,它给门的贴图Lara是穿不过去的)。具体操作看下图。


http://gmly.info/wp-content/trle/fire6.jpg">fire6http://gmly.info/wp-content/trle/fire6-320x260.jpg">


点过,"Toggle Opacity"按钮后,"门"会变为可贴图状态,于是,我们就给他贴图吧。


http://gmly.info/wp-content/trle/fire7.jpg">fire7http://gmly.info/wp-content/trle/fire7-268x320.jpg">


终于完成了,现在,我们可以在游戏里,通过铁栅栏,看到火焰下面的燃料了。而且走到上面也不会掉下去。


http://gmly.info/wp-content/trle/fire8.jpg">fire8http://gmly.info/wp-content/trle/fire8-320x240.jpg">


下面介绍FLAME_EMITTER2的OCB代码设置和运用。
选中FLAME_EMITTER2按键盘"O"键,会弹出OCB设置窗口。


http://gmly.info/wp-content/trle/fire9.jpg">fire9http://gmly.info/wp-content/trle/fire9-320x285.jpg">


我 们知道FLAME_EMITTER2的OCB有1、2、3,其中1和3是控制火焰大小的,我们将3个FLAME_EMITTER2分别排列在一起,他们的 OCB代码从左到右分别为初始值OCB代码0、OCB代码1、OCB代码3,然后看游戏中的效果,如下图。效果很明显。


http://gmly.info/wp-content/trle/firea.jpg">fireahttp://gmly.info/wp-content/trle/firea-320x240.jpg">


当我们设置FLAME_EMITTER2的OCB 为2时可以控制火焰运动方向,那到底怎么设置呢?看下图,下面这3个FLAME_EMITTER2的OCB都设置成2,但它们的运动方向是通过它们的箭头所指方向设置的。通常火焰的运动被用来演示导火线之类的小把戏。


http://gmly.info/wp-content/trle/fireb.jpg">firebhttp://gmly.info/wp-content/trle/fireb-320x309.jpg">


以上是FLAME_EMITTER2的OCB代码设置,其实FLAME_EMITTER2用的最多的,是用来点燃火把的。就好象我们走到一个昏暗的房间,里面只有火把照明。可火把不会无缘无故的点亮起来的,它需要我们帮它们燃烧起来。那我们就操作一把。


还是在我们这个房间,我们在墙壁上放一个火把,然后,在火把燃烧的部位,放上FLAME_EMITTER2,FLAME_EMITTER2宽的一头朝向火把,高度就如下图所示,最后设置FLAME_EMITTER2的触发器让Lara踩踏触发点燃。


http://gmly.info/wp-content/trle/firec.jpg">firechttp://gmly.info/wp-content/trle/firec-320x319.jpg">


这样火把就被点燃了。


http://gmly.info/wp-content/trle/fired.jpg">firedhttp://gmly.info/wp-content/trle/fired-320x234.jpg">


下面介绍FLAME_EMITTER3的OCB代码设置和运用
FLAME_EMITTER3的OCB代码有1、2、3、4。分别代表不同的蓝色闪电。


这是OCB代码为1的。闪电很小,不伤人。


http://gmly.info/wp-content/trle/firee.jpg">fireehttp://gmly.info/wp-content/trle/firee-320x240.jpg">


这是OCB代码为2的。闪电向FLAME_EMITTER3箭头所指方向延伸,不伤人。


http://gmly.info/wp-content/trle/firef.jpg">firefhttp://gmly.info/wp-content/trle/firef-320x240.jpg">


这是OCB代码为3的。闪电一直被Lara所吸引,同样不伤人。


http://gmly.info/wp-content/trle/fireg.jpg">fireghttp://gmly.info/wp-content/trle/fireg-320x240.jpg">


这是OCB代码为4的。闪电不光一直被Lara所吸引,还向FLAME_EMITTER3箭头所指方向延伸,还是不伤人。。。真没意思。


http://gmly.info/wp-content/trle/fireh.jpg">firehhttp://gmly.info/wp-content/trle/fireh-320x240.jpg">


好了,火的运用已经介绍完毕了,感谢阅读。