/// <summary> /// 通过skin把所有的texture打包到一个图集 /// </summary> /// <returns>The repacked from skin.</returns> /// <param name="skin">Skin.</param> /// <param name="newName">New name.</param> /// <param name="shader">Shader.</param> /// <param name="outputMaterial">Output material.</param> /// <param name="outputTexture">Output texture.</param> /// <param name="maxAtlasSize">Max atlas size.</param> /// <param name="padding">Padding.</param> /// <param name="textureFormat">Texture format.</param> /// <param name="mipmaps">If set to <c>true</c> mipmaps.</param> /// <param name="materialPropertySource">Material property source.</param> /// <param name="clearCache">If set to <c>true</c> clear cache.</param> private void GetRepackedFromSkin(CombineTextureData combineTextureData, Skin skin, string newName, Shader shader, int maxAtlasSize = SpineConstValue.smallAtlasSize, int padding = SpineConstValue.atlasPadding, TextureFormat textureFormat = SpineConstValue.textureFormat, bool mipmaps = SpineConstValue.atlasMipMaps, Material materialPropertySource = null, bool clearCache = SpineConstValue.atlasClearCache) { //用CPU合并图集 //return AtlasUtilities.GetRepackedSkin(skin, newName, shader, out outputMaterial, out outputTexture); //用GPU合并图集 SpineChangeCommonTools.GetSpineRepackedSkin(combineTextureData, skin, newName, shader, maxAtlasSize, textureFormat, mipmaps, materialPropertySource, clearCache); }
/// <summary> /// 拆解图集 /// </summary> /// <returns>The textures sprite dic.</returns> /// <param name="texture">Texture.</param> /// <param name="rectDic">Rect dic.</param> public static Dictionary <string, Sprite> GetTexturesSpriteDic(Texture2D texture, Dictionary <string, Rect> rectDic) { Rect rect; Sprite sprite; Dictionary <string, Sprite> spriteNameDic = new Dictionary <string, Sprite> (); foreach (KeyValuePair <string, Rect> keys in rectDic) { rect = SpineChangeCommonTools.GetTextureRectByUVRect(keys.Value, texture.width, texture.height); sprite = Sprite.Create(texture, rect, Vector2.zero); spriteNameDic.Add(keys.Key, sprite); } return(spriteNameDic); }