看了一下天堂2的纹理Package文件,唔,都是原汁原味的DDS格式,稍稍处理一下就可以拿出来了。基本上是DXT1和DXT3两种。
发现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数据,不清楚是什么原因要存储如此多的重复数据,谁能说明一下?
进一步将天堂2的StaticMesh中的Vertex按照材质分组,并将Vertex UV提取出来,将纹理赋予各组顶点。
下面是粉刷好的桥:
world_bridge_S.usx 里的 world_bridge06 :纹理文件: world_bridge_T.utx