AssetBundle冗余資源檢測(cè)器

最近我們項(xiàng)目快上線了,把項(xiàng)目提交到了一個(gè)專業(yè)做Unity項(xiàng)目?jī)?yōu)化的網(wǎng)站?!?a target="_blank" rel="nofollow">uwa
他們號(hào)稱沒有不存在資源冗余的項(xiàng)目,我們提交以后確實(shí)發(fā)現(xiàn)了一些冗余資源。但是他們網(wǎng)站有2個(gè)缺陷:

  • 免費(fèi)用戶一個(gè)月只能檢測(cè)2次
    • 不自由
    • 付費(fèi)用戶6600/季度
  • 需要上傳自己項(xiàng)目的所有AB文件
    • 不安全

而且,我仔細(xì)想了下,這里面的技術(shù)其實(shí)不是很復(fù)雜。就衍生了一個(gè)自己寫一個(gè)小插件的想法,然后ABRedundancyChecker就誕生了。

一、插件介紹

  1. 我把AB包所有的資源分為兩類
  • 本包資源
  • 依賴包資源
  1. 該插件把每個(gè)AB包的本包資源都列舉出來,然后統(tǒng)計(jì)這些資源是否有重復(fù),重復(fù)則為冗余。
  2. 插件github倉(cāng)庫(kù)地址:https://github.com/inkiu0/ABRedundancyChecker
  3. 喜歡的賞顆星星

二、ABRedundancyChecker使用方法

1. 修改腳本參數(shù)

  1. 把以下參數(shù)改成自己想要的:
/// <summary>
/// AB文件名匹配規(guī)則
/// </summary>
public string searchPattern = "*.ab";
/// <summary>
/// 冗余資源類型白名單
/// </summary>
public List<Type> assetTypeList = new List<Type> { typeof(Material), typeof(Texture2D), typeof(AnimationClip),   
typeof(AudioClip), typeof(Sprite), typeof(Shader), typeof(Font), typeof(Mesh) };
/// <summary>
/// 輸出路徑
/// </summary>
public string outPath = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);
/// <summary>
/// AB文件存放路徑,會(huì)從這個(gè)文件夾下遞歸查找符合查找規(guī)則searchPattern的文件。
/// </summary>
public string abPath = "Assets/StreamingAssets";  
[MenuItem("AB冗余檢測(cè)/AB檢測(cè)")]

2. 開始使用

  1. ABRedundancyChecker.cs放在Unity項(xiàng)目的Editor目錄下
  2. 將所有打包好的AssetBundle文件放在abPath目錄下
  3. 點(diǎn)擊菜單欄AB冗余檢測(cè)->AB檢測(cè)
  4. 喝一杯茶
  • 250MB的AB文件(1600個(gè)文件)檢測(cè)時(shí)間為2分鐘
  1. 打開輸出到目標(biāo)目錄的MarkDown文件

3. 輸出的MarkDown形如

資源名稱 資源類型 數(shù)量 AB文件名
smoke_01 Texture2D 14 art_11_1.ab art_13_103.ab art_13_104.ab art_13_107.ab art_13_109.ab art_13_131.ab art_13_132.ab art_13_31.ab art_13_63.ab art_13_77.ab art_13_81.ab art_13_87.ab art_2_128.ab art_4_1.ab
wuti_07 Texture2D 12 art_11_1.ab art_12_4.ab art_13_102.ab art_13_116.ab art_13_142.ab art_13_17.ab art_13_22.ab art_13_31.ab art_13_59.ab art_13_61.ab art_13_73.ab art_4_1.ab
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,502評(píng)論 19 139
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類相關(guān)的語(yǔ)法,內(nèi)部類的語(yǔ)法,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法,線程的語(yǔ)...
    子非魚_t_閱讀 34,623評(píng)論 18 399
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,716評(píng)論 25 709
  • 利用js插件jspdf來操作pdf文件內(nèi)容和導(dǎo)出pdf文件 引言:在網(wǎng)頁(yè)開發(fā)中可能會(huì)遇到把網(wǎng)頁(yè)相關(guān)內(nèi)容導(dǎo)出為pdf...
    家里有棵核桃樹閱讀 2,580評(píng)論 0 0
  • 簡(jiǎn)介 這個(gè)包實(shí)現(xiàn)基于Mojo工具包,實(shí)現(xiàn)了一個(gè)實(shí)時(shí)WEB框架。支持RESTful路由,插件功能、命令管理、Perl...
    JSON_NULL閱讀 1,479評(píng)論 0 2

友情鏈接更多精彩內(nèi)容