轉(zhuǎn)自移動設(shè)備壓縮紋理使用技巧
壓縮紋理能夠節(jié)約不少內(nèi)存空間驳棱,因此目前項目中UI全都是用Texture Packer打包出大圖之后壓縮瓷蛙。Unity導入紋理的默認設(shè)置是compress侍瑟,在符合條件的情況下會優(yōu)先使用PVR或ETC擅腰、否則會降為RGBA4444申窘。從程序的角度來說耕腾,當然是1/4大小的壓縮紋理更好啦~但是,畢竟是有損壓縮蓬衡,會帶來一定的損失,有時候還是挺郁悶的彤枢。
第一個常見的問題是漸變顏色區(qū)域經(jīng)過壓縮之后會出現(xiàn)色階狰晚,如下圖所示。我參考了dither思路缴啡,用Photoshop加了一層0.3%的高斯分布雜音壁晒;可以看到ETC和PVR都有所改進,但是仔細盯著看依然能看到一些噪聲业栅。
另一個很常見的問題就是有雜色(下圖綠色部分)秒咐,本質(zhì)是在某些block里邊界混合了…解決方法就是非常粗暴的放大分辨率,可以看到當放大到2x大小的時候就完全沒問題了碘裕。這個事情桌子很早也和我提過携取,壓縮紋理的UI部分最好放大一些,當超采樣來用…
順便再提一句就是帮孔,新版本的Texture Packer里有了polygon布局雷滋,還能扣洞真是excited…
ps. 最早我們使用的是將原始圖片拆分成RGB和Alpha Mask兩張圖的策略,然后替換默認的UI Shader文兢。但是Unity-5.2開始默認將ETC2設(shè)為默認(順便支持了ETC1 Compression for Sprite Atlases)晤斩,所以我就懶得切圖+每個Sprite拖材質(zhì)球了…直接一張RGBA進行壓縮完事兒