天天看點

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 });      

注意事項:

繼續閱讀