才有空分析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就不一樣了。


.x在
這里,包含了多個Texture。