WOW的模型换装系统从一开始建模就经过很多的考虑,最大的可能将游戏人物的制作达到代码和资源的分离。让美工人员可以独立完成模型的制作。制作WOW的玩家模型工作量要远远大于制作普通的怪物模型。工作量增加的主要原因就是角色模型具有换装系统。普通模型身体各部分只做一份即可,而人物角色要做很多份,比如人物身上的披风可能要做不同的几个MESH,手套也要做好几个样式的,同理还是帽子,靴子,内衣,裤子等,这些装备都是和角色主模型一起建的模,也是保存在同一个文件中,不同角色模型之间不能通用。这样一个角色模型建模下来要包含几十个MESH。在显示该角色的时侯根据角色的性别,种族,衣服,手套等的配置信息来决定显示哪些MESH,隐藏哪些MESH。 

      还有一类装备,比如左手盾,右手武器,头上帽子,肩甲,箭袋, 可以独立于角色模型单独建模,这个装备模型可以在不同角色间共享,这种做法减少了角色模型的建模工作量,同时还能提高模型的立体感。 

下面看下具体的换装方法。

        装备分为两类,一类装备可以采用换贴图的方式实现。比如,手套,衣服。袍子,披风,面部特征等,这种装备信息可以根据具体的ID检索换装数据库,确定选择角色模型的哪个MESH用来显示。然后将这个纹理合成到角色模型的主纹理中去。如下图:

 

有些信息不能合并到主纹理中去的可以单独创建,如头发等:

 

 

最后就是单独建模的那部分装备模型,这些模型是独立的模型文件,连接到角色模型的相对应的挂载点上。如下图红点就是角色模型的挂载点:

 

 

具体实现时根据装备的属性检查对应的挂载点,然后找到角色模型的挂载点,经过自身的变换后乘以角色的挂载点对应的变换矩阵,这样装备就连接到了角色身上,和角色一起运动了。后面的工作需要不停更新挂载点矩阵,保证装备和角色同步运动。

 

最后再加上装备的粒子效果,最后渲染结果如下图:

 

 

 

 

 

 

 

 

posted on 2010-08-09 16:59  操作系统  阅读(1474)  评论(0编辑  收藏  举报