原因

在游戏制作过程,随着资源越来越多,可能存在重复的资源,也需要删除不被使用的资源,但是如果使用 Unity 的 API 去查找引用关系将会很耗时间,另外,资源都是对应使用的,比如 UI 图片只在 UI 界面上进行引用,所以不需要去查找其他地方是否引用到。

目标

实现可以自定义类别的资源清理,也可以查看资源的引用情况。

说明

为了可以快速了解 Unity 的资源使用情况,那么就需要使用多线程来进行资源文件分析。然而,Unity 的资产引用会记录在预制体或场景上,需要将序列化方式改成文本,才能采用文件解析的方式来搜索匹配资源的 GUID 信息。资源是否存在重复,根据文件流的 MD5 值来判断。

多线程的查找 GUID,参考文章《Unity 编辑器下多线程处理文件》。

源码

地址:https://github.com/akof1314/UnityAssetDanshari

使用说明

① 第一次使用时,按资源的使用环境进行分组

将路径拖到目录框,可以路径多选后再拖入。其中【公共资源目录】是用来放公共资源的路径,比如 UI 图片资源存在被多个界面引用的时候,可以快捷操作移动资源到公共目录。
② 【引用查找】功能,是对【引用目录】下的每个资源进行检查是否引用到了【资源目录】下的资源,比如 UI 界面预制引用 UI 图片

双击项,可以自动在【Project】窗口定位到资源。
③ 【检查重复】功能,是对资源文件进行 MD5 检查重复,再对重复的资源进行操作

【资源被引用查找】菜单项功能,是在【被引用查找】窗口里定位到此资源的使用情况,方便进行决定保留还是删除,注意,需要先打开了【被引用查找】窗口才可以定位到。
【仅使用此资源,其余删除】菜单项功能,将会删除其余重复的资源,并且将所有引用到这些删除资源的地方都改成引用保留的那一个。
当美术对同一资源进行切图两次,会导致文件 MD5 值不一样,就无法被工具所检测到。出现这种情况的时候,肉眼发现到两个资源其实是一样的,可以在这个窗口右上角点击【手动添加】按钮

手动进行添加资源路径,将资源文件拖动到文本框,再点击【确定】。就会自动定位到新增的数据,接着就可以按处理重复资源一样进行操作。
④【被引用查找】功能,是对【资源目录】下的每个资源进行分析,看是否被【引用目录】下的资源进行引用,比如 UI 图片被哪些 UI 界面进行引用

【删除选中资源】菜单项功能,是直接对资源进行删除,当发现没有被使用到时,可以这样快捷删除资源。
右上角【过滤为空】按钮,可以过滤显示没有被使用的资源,方便快速查看。

Unity 资源断舍离(资源清理重复以及引用被引用查找)相关推荐

  1. dnf如何快速拾取物品_极简断舍离|如何快速处理闲置物品?

    二月初开始践行断舍离,清理出几大袋物品,准备送往垃圾桶之前,我开始思考:有没有更环保.更负责任的方式来处理这批闲置物品,变废为宝呢? 2017年,作为深圳自然学校环保志愿老师,我走进了深圳垃圾处理基地 ...

  2. 噩梦射手 安装包资源包提供下载 Unity官方教程 Survival Shooter 资源已经失效了!? Unity3D休闲射击类游戏《Survival Shooter》完整源码

    Unity官方教程 (Survival Shooter)  资源已经失效了! 可能是版本太老了 中文名叫噩梦射手? 找了半天找了这个版本 的 放到这里吧 [这个游戏主角是必死的,就看能坚持多久啦] 网 ...

  3. 【Unity性能优化】静态资源优化——Audio优化

    文章目录 写在前面 1. 前言 2. 使用Asset Checker进行资源检测 3. Audio优化 3.1 启用Force to Mono 3.2 压缩格式与采样率 3.3 音乐加载类型 3.4 ...

  4. 【Unity】由预制体实例获取预制体资源及预制体资源路径

    [Unity]由预制体实例获取预制体资源及预制体资源路径 Unity中一个预制体对象可能处于3种状态: 位于Project中,是PrefabAsset: 位于Scene中,是PrefabInstanc ...

  5. Unity免费的优质场景资源

    我们将整理一些Unity免费的优质场景资源推荐给大家,使用这些资源,不仅仅可以轻松的帮助你创作游戏,更有助学习和使用Unity. Book Of The Dead: Environment Unity ...

  6. Unity精品3D模型素材资源下载——暗黑地牢风格篇

    本文介绍Asset Store中优质的暗黑地牢风格素材,会从3D模型.插件.音频资源和UI几个角度分别介绍. 一:3D模型篇 1:POLYGON - Dungeons Pack 该Low Poly场景 ...

  7. Unity中的三种资源加载和卸载

    前言 内容转载自: https://www.cnblogs.com/zhoujiangyue/articles/7066070.html. Unity中三种资源加载方式: 1.静态引用.具体操作:创建 ...

  8. Unity 打包和读取AB资源,并播放打包的AB序列图!

    Unity - 打包和读取AB资源,并播放打包的AB序列图! 一:效果图 二:插件下载 三:插件导入! 三:代码! 四:Demo学习 五:关于AB资源打包的学习和拓展 本文提供详细教程 记录遇到的难点 ...

  9. 这样“断舍离”,你会活得更高级

    来源:慈怀读书会 断舍离,是近年来比较流行的说法,它提醒我们舍弃那些无意识中膨胀的物欲,呼吁人们扔掉那些不必要的,不再让人怦然心动的东西,留下重要的东西,过简单的生活. 其实,膨胀的何止是物欲,该扔掉 ...

  10. C# 托管资源和非托管资源(Dispose、析构函数)

    https://www.cnblogs.com/herenzhiming/articles/9691524.html 资源分类: 托管资源指的是.NET可以自动进行回收的资源,主要是指托管堆上分配的内 ...

最新文章

  1. idea(2)快捷键
  2. Spring注解详解
  3. A Java Runtime Environment (JRE) or Java Development Kit (JDK)
  4. 《深入理解计算机系统(英文版.第2版)》
  5. fatal error C1071: unexpected end of file found in comment
  6. 电压压力蕊片_一文让你知道什么是压力变送器
  7. eclipse构建及运行maven web项目
  8. 进程管理利器Supervisor--入门简介
  9. 语言 蜗牛爬树问题_育儿小知识:睡前聊天,也会提升孩子的语言能力!
  10. dicom worklist下载病例程序/dicom worklist scu (c#版本)
  11. 华为android解锁,华为bootloader怎么解锁 华为手机bootloader解锁教程
  12. 小米游戏本bios_小米游戏本2019款,原来他才是电脑的终极境界
  13. Cherno C++系列笔记20——P60~P61 为什么不使用using namespace std、命名空间
  14. pycharm中python的默认安装路径_PyCharm下载和安装详细步骤
  15. 程序员怎样更优雅的接私活赚外快
  16. python nacos注册中心_使用Nacos作为注册中心和配置中心
  17. close()是不是python内置函数_python 内置函数
  18. html手机下拉菜单样式,MUI下拉菜单样式
  19. android hdmi拔插广播,拒绝频繁拔插:绿联 HDMI切换器 晒单
  20. 产品品牌想正向刷屏 就需做好精致化内容

热门文章

  1. IDEA中的SourceRoot含义及设置方法
  2. Mac如何关闭开机启动项
  3. Excel如何在表格内打勾
  4. ubuntu16.04 设置动态ip和静态ip及route命令的使用
  5. angular2 路由ajax,angular2路由切换改变页面title的示例代码
  6. POJ 1252 Euro Efficiency G++ 完全背包 背
  7. 使用Draw免费在线作图
  8. 极值点、驻点、拐点的区别和联系
  9. 2019 Namesilo 购买域名 解析域名 图文教程
  10. 大平原顾问快讯FRX移至新服务器