
【Half-Life地图】要了解什么是HL地图,就必须先知道HL(Half-Life,半条命)。它是一款深受世界游戏玩家喜爱的第一人称射击游戏。以其独特的形式驳得无数玩家的芳心。HL地图就是玩家在HL中的游戏区域,也可以说是模拟的游戏场景。可以由HL地图设计者的自己的想法来设计。BSP文件就是这种场景文件。大多数MOD之间(如Cs),BSP文件是可以通用的,只要符合读取的条件,能够调用到地图里用到的资源,就一定能读取。比如HL:OP就能读取大多数HL的地图。
【HL地图制作工具】首先必须提到的是WC,既WorldCraft。它是一个比较常用的HL地图制作工具。但是随着时代的发展,WC也出现许多不足的地方。所以它的作者Valve公司又对它进行改新,直到现在的最新版本——VHE3.5终结版(WorldCraft 3.33版本以后都叫做VHE),既Valve Hammer Editor 3.5终结版。它修正了WC的不足,新增了许多WC不能做到的地方,如将实体显示成模型或图标而非一个小方块,并且支持制作Source引擎地图,halflife.fgd文件是HL地图实体列表,它决定了你在地图编辑器里能直接制作哪些实体。现有的fgd文件有汉化的Half-Life.FGD.
它适合对于英文不是很了解的朋友使用,也修正了Valve官方提供的fgd的许多bug(但没有在编辑器显示中模型的功能)。使用此软件可以制作出*.rmf或*.map文件,即HL地图源文件,可编译为.bsp格式文件,即上面所说的能被游戏引擎读取的地图文件,未经编译的地图源文件是无法被游戏读取的。您还可以添加自定义纹理(.wad)、声音(.wav)、模型(.mdl)、图标(.spr)等等,这样可以个性化HL地图,而不局限于官方仅有的那些枯燥素材。
【HL地图的构成】HL地图中包括以下部分:
【固体】(Brush):在游戏中没有特殊功能,仅仅构成游戏可见部分(如地面、山体等等),玩家看得见摸得着的那些物体。
【实体】(Entity):指游戏中用来实现某种功能(如在地面上放置的武器等等)的元素,分为:
【固体实体】——由固体转换而来的实体,可以用来规定一些特殊区域,如触发区,也可以做出如水、按钮、可开动的汽车等等使其有一般固体做不出的特殊能力;
【点实体】——绝大多数游戏中不可见,仅仅用来实现一些功能,如播放声音、规定玩家出生点等等。
【纹理知识】【纹理】(Texture):本质为图片,覆盖在固体或固体实体表面,使游戏更加逼真。比如在作为地面的地方贴上地砖,在作为草地的地方贴上草地,等等。
纹理文件保存在扩展名为wad的文件中,这些文件可以在VHE中被直接调用。
注:不透明的水、天空、轴心与贴附固体,均为各表面覆盖有特殊纹理的固体,在游戏中有一定特殊作用,但并不属于实体。
纹理必须要有名称,这样可以迅速区分普通的固体纹理与特殊纹理。关于这些,下面给出具体的分类方式:
【固体纹理】:只起到视觉效果,如沙地、草地、墙壁等等,名称没有什么特别之处,如sand01、steeldoor1等等。
【标记纹理】:名称为AAATRIGGER,常用于不可见的固体实体之上,在制作地图的时候可以提醒制图者哪些实体在游戏中不可见,可以方便地图制作。(但是覆盖在固体之上可能会引发游戏错误!)
【天空纹理】:名称为sky,贴有该纹理的固体是作为天空的,在游戏中可以显示出逼真的蓝天白云或者月夜星空。
【轴心纹理】:名称为origin,作为一些实体的轴心,例如转门、风扇、汽车、火车、飞机、钟摆、有架子的机枪等等,它们在转动或运动时,都要围绕一定的轴心运动。覆盖有这个纹理的固体,就用来代表轴心。凡是要制作上述效果的实体,都必须要集成一个贴有origin纹理的固体,以作为轴心(放在你认为或需要是轴心的地方)。否则的话,无论上述实体身在地图何处,他们都将只围绕地图原点(0,0,0)转动或运动。你不能给一个实体集成2个或2个以上的轴心,否则将会导致出错。你不能把贴有该纹理的固体单独转化为固体实体,否则同样会引起游戏错误。
【贴附纹理】:名称为clip,游戏中不可见,可以阻挡玩家(如无形的墙壁一般),但不会阻挡玩家的子弹或手雷,例如HL:CS中de_Aztec的吊桥,人可以走在上面,但是子弹和手雷可以穿过去。该纹理不能和别的纹理用于同一固体之上,也不能把贴有该纹理的固体单独转化为固体实体。
【水纹理】:名称前带有!,如!water01、!lava_x等等。游戏中作为液体,可以自己动来动去,如水、岩浆,但是这种液体是不透明的,如果需要透明,就必须转化为func_water固体实体。
【透明纹理】:名称前带有{,如{ladder_red。通过一定的设置,在游戏中纯蓝部分会完全透明,只留下不是蓝色的部分,可以用来做梯子等等。
【动画纹理】:首帧前为+0的纹理,如+0movie。这类纹理在地图中可以自动按+1、+2、+3……的顺序播放,比如覆盖有+0movie的固体,在游戏中就会自动按照+1movie、+2movie……自动变化下去,而且是循环的。(只有覆盖开头为+0纹理才能变化,贴上+1、+2……就不行了!)
【切换纹理】:首帧前为+0,末帧前为+A的纹理,如+0button、+Abutton。必须经过引发才会播放的纹理,引发后+0变为+A,然后如果需要还可以变回来,可以用来制作按钮。
【印花纹理】:存在于decals.wad,VHE中“印花工具”使用的纹理,在游戏中作为墙壁上的喷涂、血迹等等。
【HL怪物实体略述】这些就是HL1中可能使用到的部分实体名称及其作用的简述
下面是怪物实体,属于游戏中的NPC,我们拿它作为例子:
【实体monster_human_grunt】人类士兵

健值:
name: 此乃实体名称。
TriggerTarget:怪物触发实体的名称。
TriggerCondition:此乃选项,选择怪物在什么情况下触发实体。
squadname:所属小队的名字,给很多人类士兵起同一名字,他们就是一个小队了。
weapons:此怪物手上的武器。
标记:
waittillseen: 自动触发此怪物。
gag:怪物闭嘴,不发出声音。
monsterclip: 怪物将不会穿过func_monsterclip 实体指定的区域。
prisoner: 任人宰割的AI特性。
squadleader:小分队领导。
waitforscript: 等待脚本。
pre-disaster: 只能死于天灾。
fade crops:已经重伤。
【纹理的制作】
使用wally纹理制作工具
贴图以静态图片格式,长宽都必须是16或16的倍数,最大尺寸为256×256,尺寸单位为像素。
贴图颜色须为256色
然后导入wally之后,打包成wad文件
可以将很多的贴图都放进一个wad文件里面