有时需要读取打包后图集的大小,用来做一些图片打图集优化,分离哪些图片需要打进图集,可以利用下面的方法
public static int GetSpriteAtlasSize(SpriteAtlas atlas)
{
MethodInfo getPreviewTextureMI = typeof(SpriteAtlasExtensions).GetMethod("GetPreviewTextures", BindingFlags.Static | BindingFlags.NonPublic);
Texture2D[] atlasTextures = (Texture2D[])getPreviewTextureMI.Invoke(null, new System.Object[] { atlas });
if (atlasTextures.Length > 0)
{
Texture2D texture = atlasTextures[0];
return texture.width * texture.height;
}
return 0;
}
更新图集可以利用
UnityEditor.U2D.SpriteAtlasUtility.PackAtlases方法
网友评论