天天看点

Unity新的图集SpriteAtlas应用

SpriteAtlas是unity新的图集,取代了旧图集Sprite Packer

图集打包的意义:

1、减少DrawCall,一张图集只需要一次DrawCall

2、图集将一张或者多张图片合成一张2的幂次方的图片,减少资源大小

Sprite Packer缺点:

旧版Sprite Packer在性能和易用性上对比Sprite Atlas存在诸多不足,比如无法分别对不同图集修改不同质量、无法获取图集里的图片等等。

SpriteAtlas的属性面板:

Unity新的图集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 });      

注意事项:

继续阅读