Sprite Atlas(精靈圖集)
Sprite Atlas 針對現(xiàn)有的圖集打包系統(tǒng)Sprite Packer在性能和易用性上的不足,進(jìn)行了全面改善姐赡。除此之外注整,相比Sprite Packer,Sprite Atlas將對精靈更多的控制權(quán)交還給用戶瘫里。由用戶來掌控圖集的打包過程以及加載時(shí)機(jī),更加利于對系統(tǒng)性能的控制荡碾。
Sprite Atlas的主要有以下三個(gè)功能:
1.創(chuàng)建谨读、編輯圖集以及設(shè)定圖集參數(shù)
2.添加圖集Variant(變種)
3.運(yùn)行時(shí)訪問圖集
下面將通過具體案例來分別展示以上三個(gè)功能。
創(chuàng)建坛吁、編輯圖集及參數(shù)設(shè)定
在Unity 2017.1中劳殖,Sprite Atlas是一種資源,可以像其它資源一樣在Unity中創(chuàng)建拨脉,例如預(yù)制件哆姻、場景等。
可以在檢視窗口中設(shè)定要打包的精靈及其參數(shù)玫膀,例如圖集的打包方式矛缨、輸出貼圖的壓縮格式等。如下圖所示帖旨,Potato就是一個(gè)創(chuàng)建好的圖集箕昭,目前打包的對象包括了char_hero_beanMan這個(gè)Sliced Sprite。
P.S.這里可以支持多種類型解阅,包括單個(gè)Sprite落竹、Sliced Sprite、文件夾瓮钥,以及這些類型的任意組合筋量。
操作更加方便,對用戶更友好碉熄。
此外桨武,在檢視窗口上還可以看到圖集的一些參數(shù)設(shè)定,例如:打包時(shí)是否支持精靈旋轉(zhuǎn)(Allow Rotation)锈津、貼圖的采樣模式(Filter Mode)呀酸、壓縮方式(Compression)等等。
在最下方的預(yù)覽窗口中琼梆,可以查看圖集的生成效果性誉。這樣就可以很清楚的知道圖集的打包方式是否合理,是否存在大量被浪費(fèi)的空間茎杂。
添加圖集Variant(變種)
所謂Variant错览,就是指原有圖集的一個(gè)變種。它會復(fù)制原有圖集的貼圖煌往,并根據(jù)一個(gè)比例系數(shù)來調(diào)整復(fù)制貼圖的大小倾哺。
這樣的Variant通常用于為高分辨率和低分辨率的屏幕準(zhǔn)備不同的圖集。
因?yàn)槿绻粶?zhǔn)備一套高分辨率的圖集刽脖,在低分辨率的設(shè)備上占用內(nèi)存過多羞海。反之,如果只準(zhǔn)備一套低分辨率圖集曲管,在高分辨率的設(shè)備上就會模糊却邓。
運(yùn)行時(shí)訪問圖集
Sprite Atlas作為一種資源開放給用戶时鸵,支持在腳本中直接訪問,還可以通過名字獲取圖集中的精靈厅瞎。
這樣做的好處是饰潜,讓用戶可以更加直接地隨時(shí)編輯圖集,而且不用去單獨(dú)加載圖集中的每個(gè)精靈和簸。
下面是一段動(dòng)態(tài)換裝的代碼彭雾,該腳本通過LoadAsset加載SpriteAtlas類型的資源,再通過SpriteAtlas的GetSprite接口獲取圖集中的精靈锁保,最后將精靈傳遞給SpriteRenderer來實(shí)現(xiàn)動(dòng)態(tài)換膚的功能薯酝。相較于基于Sprite Packer的實(shí)現(xiàn)半沽,整個(gè)過程要簡單直接的多。
創(chuàng)建方式
Assets>Create>Sprite Atlas