SpriteAtlas是unity新的图集,取代了旧图集Sprite Packer
图集打包的意义:
1、减少DrawCall,一张图集只需要一次DrawCall
2、图集将一张或者多张图片合成一张2的幂次方的图片,减少资源大小
Sprite Packer缺点:
旧版Sprite Packer在性能和易用性上对比Sprite Atlas存在诸多不足,比如无法分别对不同图集修改不同质量、无法获取图集里的图片等等。
SpriteAtlas的属性面板:
创建一个SpriteAtlas
var sa = new SpriteAtlas();
AssetDatabase.CreateAsset(sa, assetPath);
设置SpriteAtlas的属性
SpriteAtlasPackingSettings packset = new SpriteAtlasPackingSettings()
{
blockOffset = 1,
enableRotation = false,
enableTightPacking = false,
padding = 4
};
sa.SetPackingSettings(packset);
设置SpriteAtlas的图片参数
SpriteAtlasTextureSettings texSet = new SpriteAtlasTextureSettings()
{
readable = true,
filterMode = FilterMode.Bilinear,
sRGB = true,
generateMipMaps = true
};
sa.SetTextureSettings(texSet);
给SpriteAtlas加上精灵文件夹
Object texture = AssetDatabase.LoadMainAssetAtPath(assetDataPath);
sa.Add(new Object[] { texture });