看了一下天堂2的纹理Package文件,唔,都是原汁原味的DDS格式,稍稍处理一下就可以拿出来了。基本上是DXT1DXT3两种。

 

发现Unreal Package中许多重复数据……比如IndexBuffer就找到了三组数据:

//--------第一处的VertexIndex-----------

//            int numberIndex = 1476;

//            int idxoff = 2534531;

//----------------------------------

//--------第二处的VertexIndex-----------

//与第一处明显不同,为什么呢?为什么要两个地方储存?绘制出来发现多了许多无用的面。

//            int numberIndex = 2496;

//            int idxoff = 2537489;

//----------------------------------

//--------第三处的VertexIndex---------------------------------------------

//结果与第一处一样,但与前两处存储方式明显不同,排序后的?为什么呢?为什么要三个地方储存!?

//第三处还包含有许多信息……

//            int numberIndex = 1476;

//            int idxoff = 2542490;

//----------------------------------

由于初步接触3D数据,不清楚是什么原因要存储如此多的重复数据,谁能说明一下?

 

进一步将天堂2StaticMesh中的Vertex按照材质分组,并将Vertex UV提取出来,将纹理赋予各组顶点。

 

下面是粉刷好的桥:

world_bridge_S.usx里的world_bridge06:纹理文件:world_bridge_T.utx

 

Texture来看,天堂2真的做得很细致,许多都画得很精细。比如桥身上那几块突出的砖头:

哪位玩家在玩的时候能去看这些砖块?就算要去看也不一定能看清……没话说。赞!