红孩儿纹理打包器1.0 -- 使用说明

长平狐 发布于 2013/03/19 18:39
阅读 246
收藏 0

红孩儿纹理打包器1.0 -- 使用说明

        

                下载地址:http://download.csdn.net/detail/honghaier/4555969

      之前我有讲述如何利用Cocos2d-x开发一个游戏,诚如文章所述,我对于工具是非常重视的。本周制做第一个工具:纹理打包器,不废话,先上图。

      

  

 

功能简述:

1.查看图片:支持PNG,TGA,DDS,PVR,BMP,JPG等格式图片的查看,可以直接将图片拖动到窗口中进行查看。

2.将源图片目录中图片进行拼合:可以将对应目录下所有图片拼合成大图,也可以按子目录进行拼合。拼合输出格式也支持PNG,TGA,DDS,PVR,BMP,JPG。拼合成功后,会将拼合后的矩形信息输出为相应文件,支持XML,INI,二进制文件格式。

 

使用方法:

1.先对图片资源进行整理,放到相应的目录。选择要进行拼合的源图片文件格式,是否对子目录进行搜索,是否按子目录进行拼合。然后点选“浏览源图片目录”,查找到相应图片资源目录。

2.选择输出文件格式,色彩格式,最大尺寸,以及导出的信息文件格式。然后点选“浏览目标目录”。即开启拼合计算,进度条会显示拼合进度。

3.完成后可以在查看大纹理的下拉框中选择生成的大图进行查看。在输出目录中找到图片和信息文件。

 

贴心功能:

1.随时间的关心提醒。

2.文件拖放进窗口查看。

3.在图片上中键点击后拖动图片查看。右键双击后图片回到原位。

4.关闭树项大窗口显示。

 

拼合块文件格式说明:

1.XML格式:

<BigTex>

    大图名称

     <Block UV = "U1,V1,U2,V2,U3,V3,U4,V4" SIZE="图块源图片宽,图块源图片高">源图片名称</Block>

</BigTex>

 

U1~U4:顶点1到顶点4的纹理坐标U

V1~V4:顶点1到顶点4的纹理坐标V

 

2.INI格式:

[BigTexture]

Name=大图名称

BlockSize=拼合到此大图的图块数量

[Block]

Block0=图块源图片宽,图块源图片高,U1,V1,U2,V2,U3,V3,U4,V4

3.二进制格式:

 

 //文件头信息
 struct SPackFileHeader
 {
  int   m_Version;//版本
  char  m_szBigTexName[64];//大图名称
  int   m_nBlockSize;//图数量
 };
 //数据块信息
 struct SPackNode
 {
  int          mImageWidth;//图块源图片宽
  int          mImageHeight;//图块源图片高
  FLOAT   mU[4];
  FLOAT   mV[4];
 };

读取时先读入二进制文件头信息,然后读入m_nBlockSize数量的数据块信息

 

 

        拼合原理:将所有需要拼合的图片按面积大小进行排序,对2,4,8,16,32,64,128~限定大图最大宽高分别进行矩形填入计算,计算时,先对大图生成空闲矩形放入空闲矩形容器,然后判断图片矩形是否可放入,判断时如果直接放不能放入应考虑转90度再试试。如果能放入则保存可放入的矩形位置及大小,放入后原空闲空间会被切为三个矩形(1图片矩形2图片矩形右边矩形3图片矩形下边矩形),将原空间矩形改为2或3,新生成的一个空闲矩形放入空闲矩形容器再进行下一个图的填充计算。如果不能把所有图都进当前大图矩形,就将大图宽高修改为原来2倍,用之前填充的图再重新进行填充,并继续填充剩下的图。直至限定大图最大宽高,如仍不能满足则再生成新图做同样的填充计算。最后根据所有的大拼合图的结果创建大图并将小图图像拷贝到大图的相应矩形保存图片和相关矩形信息。

 

            

       


原文链接:http://blog.csdn.net/honghaier/article/details/7957062
加载中
返回顶部
顶部