可以将图集裁剪成小图片导出,不会使用ps可以这样将自己喜欢的小图片导出。
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
..A..H. 178 2015-04-26 21:45 AtlasWindow.cs.meta
文件 3374592 2014-03-23 15:03 FreeImage.dll
..A..H. 90 2015-05-23 07:54 FreeImage.dll.meta
文件 189440 2015-02-08 17:58 FreeImageNET.dll
..A..H. 153 2015-05-23 07:54 FreeImageNET.dll.meta
文件 11165 2015-04-26 22:01 AtlasUtil.cs
..A..H. 178 2015-04-26 21:45 AtlasUtil.cs.meta
文件 1642 2015-04-27 23:07 AtlasWindow.cs
----------- --------- ---------- ----- ----
3577438 8
#define USE_NGUI
#if USE_NGUI
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Text;
using UnityEditor;
using FreeImageAPI;
public class AtlasUtil
{
class frame
{
public string name;
public Rect frame;
public bool rotated;
public bool trimmed;
public Rect spriteSourceSize;
public Vector2 sourceSize;
}
class Atlasmeta
{
public string app;
public string version;
public string image;
public string format;
public Vector2 size;
public float scale;
public string smartupdate;
}
class AtlasImage
{
public Listame> frames = new Listame>();
public Atlasmeta meta = new Atlasmeta();
}
public static void Export(UIAtlas atlas)
{
Export(atlas @“E:\tmp\“);
}
public static void Export(UIAtlas atlas string folder)
{
AtlasImage atlasImage = new AtlasImage();
atlasImage.meta.app = “http://www.texturepacker.com“;
atlasImage.meta.version = “1.0“;
atlasImage.meta.image = atlas.spriteMaterial.mainTexture.name + “.png“;
atlasImage.meta.format = “RGBA8888“;
atlasImage.meta.size = new Vector2(atlas.spriteMaterial.mainTexture.width atlas.spriteMaterial.mainTexture.height);
atlasImage.meta.scale = 1.0f;
atlasImage.meta.smartupdate = ““;
foreach (UIAtlas.Sprite sp in atlas.spriteList)
{
frame frame = new frame();
frame.trimmed = false;
frame.rotated = sp.rotated;
int frameX = Mathf.RoundToInt( sp.outer.xMin );
int frameY = Mathf.RoundToInt(sp.outer.yMin);
int frameW = Mathf.RoundToInt(sp.outer.width);
int frameH = Mathf.RoundToInt(sp.outer.height);
if ( sp.rotated )
{
int tmp = frameW;
frameW = frameH;
frameH = tmp;
}
frame.frame = new Rect(frameX frameY frameW frameH);
frame.spriteSourceSize = new Rect(0 0 frameW frameH);
frame.sourceSize = new Vector2(frameW frameH);
frame.name = sp.name + “.png“;
atlasImage.frames.Add(frame);
}
folder = GetFolder(folder atlas.spriteMaterial.mainTexture.name);
Save(atlasImage folder atlas.spriteMaterial.mainTexture.name);
SplitImage(atlas.spriteMaterial.mainTexture atlasImage folder);
Debug.Log(“Done Export atlas “ + atlas.name);
}
static string GetFolder(string rootDir string texname)
{
if (!Directory.Exists(rootDir))
Directory.CreateDirectory(rootDir);
string folder = Path.Combine(rootDir texname);
if (!Directory.Exists(folder))
Directory.CreateDirectory(folder);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
..A..H. 178 2015-04-26 21:45 AtlasWindow.cs.me
文件 3374592 2014-03-23 15:03 FreeImage.dll
..A..H. 90 2015-05-23 07:54 FreeImage.dll.me
文件 189440 2015-02-08 17:58 FreeImageNET.dll
..A..H. 153 2015-05-23 07:54 FreeImageNET.dll.me
文件 11165 2015-04-26 22:01 AtlasUtil.cs
..A..H. 178 2015-04-26 21:45 AtlasUtil.cs.me
文件 1642 2015-04-27 23:07 AtlasWindow.cs
----------- --------- ---------- ----- ----
3577438 8
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)