Cocos Creator 圖集 (TexturePacker、自動圖集功能 、壓縮紋理、壓縮插件)


版本:2.3.4

參考 :

cocos教程:自動圖集功能

cocos教程:壓縮紋理

TexturePacker下載地址 

TinyPng在線壓縮 

 

合圖可以減少http請求次數,降低drawcall。所以一般項目中碎圖都會合並為一張大圖。

1. cocos自動圖集功能 + 壓縮插件  (推薦)

2. TexturePackerGUI + TinyPNG    (改動一次就需要再合圖一次,麻煩)

 

1. cocos自動圖集 + 壓縮插件

自動圖集功能就是Cocos的自動合圖功能,這里以5個裝備圖標為例子。

將5個零碎圖標通過自動圖集功能,在發布時自動合成一個整圖。

 

將5個裝備圖標,放在assets/resources/weapon文件夾下,weapon文件夾上右鍵,選擇自動圖集配置

 

生成了一個AutoAtlas文件

 

選中AutoAltas文件,在右側屬性檢查器中點擊Preview,可以預覽自動合圖后的效果

 

選擇構建發布項目

 

發布后,在build/web-mobile/res/raw-assets中查看,可以看到5個零碎圖標被自動合成了一張圖

 

5個零碎圖標:

 

合並后圖標,合並后大小略有增加,因為圖標本身很小,這里看着不明顯。

 

壓縮紋理

cocos提供了圖片壓縮功能,只不過這個功能貌似有點問題。

 

選擇AutoAtlas文件,設置png的質量為80:

 

構建發布后合圖大小為13.6kb

 

png的質量為10:

 

構建發布后,合圖大小為15.4kb

 

 

為何質量越低,大小反而越大?商城有一個壓縮插件,在構建項目后,會自動壓縮圖片。

插件用法參考 https://www.cnblogs.com/gamedaybyday/p/13475550.html

 

2. TexturePackerGUI + TinyPNG

使用TexturePackerGUI手動合圖后,在通過tinypng等壓縮。

這個優點是可自定義合圖,缺點就是美術換圖,你得再重復合圖壓縮一遍。

 

現有5個圖片

 

將圖片拖動到texturepacker中

 

 點擊菜單欄,右上位置的“發布精靈表”

 

得到png和plist兩個文件,拖動到cocos的assets下

 

在cocos的assets文件夾下,會看到大圖weapon下,有5個小圖的圖標,拖動小圖圖標到舞台即可使用

 

那么原來加載單張小圖並顯示到舞台是這樣

        cc.loader.loadRes("test.png",cc.SpriteFrame,(err, res)=>{
            sp.spriteFrame = res;
        })

  

現在加載圖集並顯示其中一個小圖到舞台

        cc.loader.loadRes("weapon/weapon",cc.SpriteAtlas,(err, res:cc.SpriteAtlas)=>{
            sp.spriteFrame = res.getSpriteFrame("item_z10001");
        })

  

5個零碎圖大小13kb

texturepack合圖大小22kb

TinyPNG壓縮后為8kb

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM