一、人物显示
传奇里面,人物是个关键的东西。 我们看到,人物在里面可以穿不同的衣服,而且可以拿不同的武器。 如果每个武器和衣服都组合的话,恐怕要天文数字的衣服了。 不过传奇不是这样做的。我用程序解开了传奇的图片,根据图片得出传奇的人物绘制的方法。 它的人物是用组合法绘制的。在不同的文件里面存放有不同的人物组件。每个组件都有各种动作时候的样子,传奇里面主要有 站立,奔跑,行走,攻击,倒下,死亡等动作,他们每个动作都有相应的没有衣服,和各种衣服的模型图。 HUM.WIL里面是没有头发和武器的不同衣服的人的模型,看起来特别滑稽。 HAIR.WIL里面是头发,各个方向的,各种颜色的都有。 weapon.wil里面是武器攻击的时候的各个角度的图片。 传奇在显示的时候,把人物的身体,头发,武器组合在一起绘制。
二、地图显示 传奇地图是用一种90度的TILE来组合的。在TILES.WIL中,TILE全部是方形的。而且从地图数据以及坐标分布来看,传奇是用的90度的地图引擎。45度效果完全是用图片做出来的。传奇的物件,比如房子等东西,存放在OBJECT*.wil里面,他们被分成一个一个的长条。好象是方便绘制的。 不过,有些图片上,物件并没有跟背景分开,也就是说物件图片是直接物件和地面画在一起的。也就是猜测吧,它可能是有一个专门记录是否物件是不能遮住人的数据层。如果在物件后面,那么就把人物用ALPHA方式绘制,这样看起来好象是遮挡效果就出来了。不过这种想法还是有破绽, 因为只有自己在房子后面才是ALPHA的,其他人就不是了。 不过可以肯定的是,传奇的地图的绘制是用矩形长条绘制的。大家可以试一下,拿把比较长的武器到一个屋子里面靠左上的墙边面向左站着,就会发现,武器的一部分进了墙了。根据这个,不难看出地图绘制方发。
附录: 下面是一张表,列出了传奇DATA目录的图象文件的具体内容。 chrsel.wil 开始的人物选择图片。 dnitems.wil 怪物或者人挂了之后掉下的物品的图片。 effect.wil 挖矿,沙巴克大门等动画效果。 hair.wil 人物的头发。 hum.wil 人物的各种衣服的模型。 items.wil 物品的图标。 Magic?.wil 魔法效果图。 magicon.wil 在魔法选择窗里显示的魔法图标。 mmap.wil 在地下洞里显示的小地图。 Mon*.wil 各种怪兽的图片。 npc.wil NPC的图片 object*.wil 建筑,地面以上物体的图片 prguse*.wil 游戏界面,按钮的图片。 SmTiles.wil 地图图片的小图块 tiles.wil 地图图片的大图块 weapon.wil 武器攻击的图片。 NPAL.IDX 这个我也没有搞清楚,大概是用来做索引方式的ALPHA效果的数据吧。 lig0?.dat 这些,看名字好象是灯的意思。大概是灯光ALPHA的索引数据吧。
|