ATF批量导出工具

08 / 31, 2013

批量导出Atf的工具,使用是adobe atf 编码核心


先说一下关于atf的bug

atf导出时候启用了mips选项会导致:如果纹理问长方形时上传会报错的bug
解决方法是把纹理改成正方形

来张截图

截图


功能说明

输出平台选择压缩体积,减小文件大小
mipmap设置合并xml
支持jpg png 转换图像尺寸自动纠正为2图像自动转换为方形,解决atf上传时为长方形会报错的bug 仅在使用mips会触发所以需要启用mips可以考虑勾选这个选项目录转换(包含子目录)输出质量设置

关于很多同学说导出的ATF报错的问题(只针对Starling)

其实问题很简单。了解Texture.fromAtfData的几个参数就行了

我们这里只要注意第3个参数

如果没有启用mips那么第3个参数必须传递false否则报错


合并xml之后如何创建纹理

如果选择合并xml,那么合并atf和xml产生的新文件会以.xatf结尾

以下为.xatf的解析代码

var urlLoader:URLLoader=newURLLoader();
urlLoader.dataFormat =URLLoaderDataFormat.BINARY;
urlLoader.addEventListener(Event.COMPLETE,loaderComplete);
urlLoader.load(newURLRequest("asset/test.xatf"));function loaderComplete(e:Event):void{var bytes:ByteArray= urlLoader.data;var xmlLength:int;var xmlBytes:ByteArray=newByteArray();var atfBytes:ByteArray=newByteArray();
	
	bytes.position = bytes.length -2;
	xmlLength = bytes.readShort();
	
	bytes.position = bytes.length - xmlLength -2;
	bytes.readBytes(xmlBytes,0,xmlLength);
	
	bytes.position =0;
	bytes.readBytes(atfBytes,0,bytes.length - xmlLength -2);if(AtfData.isAtfData(atfBytes)){var texture:Texture=Texture.fromAtfData(atfBytes,2,false,null);var textureAlats:TextureAtlas=newTextureAtlas(texture,XML(xmlBytes));}}

程序及源码下载

posted @ 2014-01-08 12:10  zhepama  阅读(621)  评论(0编辑  收藏  举报