M2过程: Creature的DBC和WDB关系

M2过程: Creature的DBC和WDB关系

    才有空分析Creature的DBC关系。唉,公司动荡,人心惶惶,但事情还是要做的,这个叫啥呢?嗯,职业道德,就算知道明天就被fire了,也要打开电脑,打开VC,分析winex11.drv;实际满心疑虑,哪有心思一行一行看代码啊,一天就添加了两个注释。。。
    扯远了,回来。CreatureModelData.dbc中,有用的是ModelID和Model数据,CreatureDisplayInfo.dbc中是DisplayID,ModelID和Texture,而CretureCache.wdb中有的是CreatureID,Name和DisplayID。这样就可以看出来通过WDB中的CreatureID,查询CreatureDisplayInfo.dbc,获得对应的ModelID和Texture,在通过CreatureDisplayInfo.dbc中的ModelID查询CretureModelData.dbc可以得到对应的Model,即M2;这样,组合M2和Texture就可以的所需要的模型数据了。
    从上述关系看,应该是WDB作为入口,获得对应的Texture和M2,再建模;而wxDeMPQ现在的模式是通过M2,查询Texture,这样明显不对,也不符合常理和现实,因为一个M2可能会被多个Creature使用到,简单点,比如熊吧,灰谷的黑熊和东泉的白熊就是一样的M2,知识两者的MTexture不同而已。这个问题导致wxDeMPQ现有的输出模式不对了。
    也许应该将WDB作为起点,这就要修改现有的wxDeMPQ了,工作量就大了,最主要的是--我的WDB很小,唉。。。

    下面是“卢安荒野姐妹 ”的模型,实际和石爪山脉的那个树妖是一个模型,不信,换一个Texture就不一样了。
M2过程: Creature的DBC和WDB关系_第1张图片 M2过程: Creature的DBC和WDB关系_第2张图片

    .x在 这里,包含了多个Texture。

你可能感兴趣的:(M2过程: Creature的DBC和WDB关系)