AssetBundle冗余资源检测器

最近我们项目快上线了,把项目提交到了一个专业做Unity项目优化的网站。——uwa
他们号称没有不存在资源冗余的项目,我们提交以后确实发现了一些冗余资源。但是他们网站有2个缺陷:

  • 免费用户一个月只能检测2次
    • 不自由
    • 付费用户6600/季度
  • 需要上传自己项目的所有AB文件
    • 不安全

而且,我仔细想了下,这里面的技术其实不是很复杂。就衍生了一个自己写一个小插件的想法,然后ABRedundancyChecker就诞生了。

一、插件介绍

  1. 我把AB包所有的资源分为两类
  • 本包资源
  • 依赖包资源
  1. 该插件把每个AB包的本包资源都列举出来,然后统计这些资源是否有重复,重复则为冗余。
  2. 插件github仓库地址:https://github.com/inkiu0/ABRedundancyChecker
  3. 喜欢的赏颗星星

二、ABRedundancyChecker使用方法

1. 修改脚本参数

  1. 把以下参数改成自己想要的:
/// <summary>
/// AB文件名匹配规则
/// </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文件存放路径,会从这个文件夹下递归查找符合查找规则searchPattern的文件。
/// </summary>
public string abPath = "Assets/StreamingAssets";  
[MenuItem("AB冗余检测/AB检测")]

2. 开始使用

  1. ABRedundancyChecker.cs放在Unity项目的Editor目录下
  2. 将所有打包好的AssetBundle文件放在abPath目录下
  3. 点击菜单栏AB冗余检测->AB检测
  4. 喝一杯茶
  • 250MB的AB文件(1600个文件)检测时间为2分钟
  1. 打开输出到目标目录的MarkDown文件

3. 输出的MarkDown形如

资源名称 资源类型 数量 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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,241评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,712评论 18 399
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,844评论 25 709
  • 利用js插件jspdf来操作pdf文件内容和导出pdf文件 引言:在网页开发中可能会遇到把网页相关内容导出为pdf...
    家里有棵核桃树阅读 7,272评论 0 0
  • 简介 这个包实现基于Mojo工具包,实现了一个实时WEB框架。支持RESTful路由,插件功能、命令管理、Perl...
    JSON_NULL阅读 5,269评论 0 2

友情链接更多精彩内容