资源简介
在Unity项目中,我们习惯将所有的资源统称为Asset。Asset一般存放在Assets目录及其子目录。随着项目的研发进度,Asset数量也会爆发式地增长,资源管理面临很大的挑战。如何查找并区分有效和无效的资源,是很多项目管理者非常重视的事情。本文介绍的这个工具可以自动分析查找项目中未使用到的资源,在选择删除的时候还可以将这些文件打包备份,确保资源的安全性、提高项目管理的效率。

代码片段和文件信息
/**
asset cleaner
Copyright (c) 2015 Tatsuhiko Yamamura
This software is released under the MIT License.
http://opensource.org/licenses/mit-license.php
*/
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using UnityEditor;
using System.IO;
using System.Text.Regularexpressions;
namespace AssetClean
{
public class AssetCollector
{
public List deleteFileList = new List ();
ClassReferenceCollection classCollection = new ClassReferenceCollection ();
ShaderReferenceCollection shaderCollection = new ShaderReferenceCollection ();
public bool useCodeStrip = true;
public bool saveEditorExtensions = true;
public void Collection ()
{
try {
deleteFileList.Clear ();
if( useCodeStrip ){
classCollection.Collection ();
}
shaderCollection.Collection ();
// Find assets
var files = Directory.GetFiles (“Assets“ “*.*“ SearchOption.AllDirectories)
.Where (item => Path.GetExtension (item) != “.meta“)
.Where (item => Path.GetExtension (item) != “.js“)
.Where (item => Path.GetExtension (item) != “.dll“)
.Where (item => Regex.IsMatch (item “[\\/\\\\]Gizmos[\\/\\\\]“) == false)
.Where (item => Regex.IsMatch (item “[\\/\\\\]Plugins[\\/\\\\]Android[\\/\\\\]“) == false)
.Where (item => Regex.IsMatch (item “[\\/\\\\]Plugins[\\/\\\\]iOS[\\/\\\\]“) == false)
.Where (item => Regex.IsMatch (item “[\\/\\\\]Resources[\\/\\\\]“) == false);
if( useCodeStrip == false ){
files = files.Where( item => Path.GetExtension(item) != “.cs“);
}
foreach (var path in files) {
var guid = AssetDatabase.AssetPathToGUID (path);
deleteFileList.Add (guid);
}
EditorUtility.DisplayProgressBar (“checking“ “collection all files“ 0.2f);
UnregistReferenceFromResources();
EditorUtility.DisplayProgressBar (“checking“ “check reference from resources“ 0.4f);
UnregistReferenceFromScenes();
EditorUtility.DisplayProgressBar (“checking“ “check reference from scenes“ 0.6f);
if( saveEditorExtensions ){
UnregistEditorCodes();
}
} finally {
EditorUtility.ClearProgressBar ();
}
}
void UnregistReferenceFromResources()
{
var resourcesFiles = Directory.GetFiles (“Assets“ “*.*“ SearchOption.AllDirectories)
.Where (item => Regex.IsMatch (item “[\\/\\\\]Resources[\\/\\\\]“) == true)
.Where (item => Path.GetExtension (item) != “.meta“)
.ToArray ();
foreach (var path in AssetDatabase.GetDependencies (resourcesFiles)) {
UnregistFromDelteList (AssetDatabase.AssetPathToGUID(path));
}
}
void UnregistReferenceFromScenes()
{
// Exclude objects that reference from scenes.
var scenes = EditorBuildSettings.scenes
.Where (item => item.enabled == true)
.Select (item => item.path)
.ToArray ();
foreach (var path in AssetDatabase.GetDependencies (scenes)) {
if( saveEditorExtensions == false ){
Debug.Log(path);
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
....... 263 2015-07-26 22:42 Tool-UnityAssetCleaner-master\.gitignore
....... 5013 2015-07-26 22:42 Tool-UnityAssetCleaner-master\Assets\Cleaner\Editor\AssetCollector.cs
....... 262 2015-07-26 22:42 Tool-UnityAssetCleaner-master\Assets\Cleaner\Editor\AssetCollector.cs.me
....... 6320 2015-07-26 22:42 Tool-UnityAssetCleaner-master\Assets\Cleaner\Editor\ClassReferenceCollection.cs
....... 262 2015-07-26 22:42 Tool-UnityAssetCleaner-master\Assets\Cleaner\Editor\ClassReferenceCollection.cs.me
....... 4751 2015-07-26 22:42 Tool-UnityAssetCleaner-master\Assets\Cleaner\Editor\FindUnusedAssets.cs
....... 262 2015-07-26 22:42 Tool-UnityAssetCleaner-master\Assets\Cleaner\Editor\FindUnusedAssets.cs.me
....... 2307 2015-07-26 22:42 Tool-UnityAssetCleaner-master\Assets\Cleaner\Editor\ShaderReferenceCollection.cs
....... 262 2015-07-26 22:42 Tool-UnityAssetCleaner-master\Assets\Cleaner\Editor\ShaderReferenceCollection.cs.me
....... 192 2015-07-26 22:42 Tool-UnityAssetCleaner-master\Assets\Cleaner\Editor.me
....... 192 2015-07-26 22:42 Tool-UnityAssetCleaner-master\Assets\Cleaner.me
....... 1086 2015-07-26 22:42 Tool-UnityAssetCleaner-master\LICENSE
....... 4136 2015-07-26 22:42 Tool-UnityAssetCleaner-master\ProjectSettings\AudioManager.asset
....... 4276 2015-07-26 22:42 Tool-UnityAssetCleaner-master\ProjectSettings\DynamicsManager.asset
....... 4104 2015-07-26 22:42 Tool-UnityAssetCleaner-master\ProjectSettings\EditorBuildSettings.asset
....... 4188 2015-07-26 22:42 Tool-UnityAssetCleaner-master\ProjectSettings\EditorSettings.asset
....... 4228 2015-07-26 22:42 Tool-UnityAssetCleaner-master\ProjectSettings\GraphicsSettings.asset
....... 5520 2015-07-26 22:42 Tool-UnityAssetCleaner-master\ProjectSettings\InputManager.asset
....... 4384 2015-07-26 22:42 Tool-UnityAssetCleaner-master\ProjectSettings\NavMeshAreas.asset
....... 4112 2015-07-26 22:42 Tool-UnityAssetCleaner-master\ProjectSettings\NetworkManager.asset
....... 4308 2015-07-26 22:42 Tool-UnityAssetCleaner-master\ProjectSettings\Physics2DSettings.asset
....... 35901 2015-07-26 22:42 Tool-UnityAssetCleaner-master\ProjectSettings\ProjectSettings.asset
....... 52 2015-07-26 22:42 Tool-UnityAssetCleaner-master\ProjectSettings\ProjectVersion.txt
....... 4944 2015-07-26 22:42 Tool-UnityAssetCleaner-master\ProjectSettings\QualitySettings.asset
....... 4236 2015-07-26 22:42 Tool-UnityAssetCleaner-master\ProjectSettings\TagManager.asset
....... 4112 2015-07-26 22:42 Tool-UnityAssetCleaner-master\ProjectSettings\TimeManager.asset
....... 20 2015-07-26 22:42 Tool-UnityAssetCleaner-master\README.md
目录 0 2015-07-26 22:42 Tool-UnityAssetCleaner-master\Assets\Cleaner\Editor
目录 0 2015-07-26 22:42 Tool-UnityAssetCleaner-master\Assets\Cleaner
目录 0 2015-07-26 22:42 Tool-UnityAssetCleaner-master\Assets
............此处省略5个文件信息
- 上一篇:清华规划院ai规划分析图小教程
- 下一篇:IT项目管理模板全
相关资源
- Unity3D登录界面工程
- unity3d反编译工具
-
UnityWebPla
yer及UnityWebPla yerFull -
UnityWebPla
yerFull - Dr. Cleaner Pro mac破解版
- unity4.0官方正式版
- CCleaner Pro v5.06.5219中文版(集成注册码
- ccleaner专业版安装exe
- 超级场景清理器(SPCleaner)v1.0免费版
- Behavior Designer 1.6.3(u2018.3.0).unitypa
- Unity纪念碑谷.rar
- A Pathfinding Project Pro v4.2.2.rar
- Unity 声音播放插件,支持将字符串转
- Gaia 1.7.2
- Unity3d实现扭动挤压浏览效果
- UnityShader卷轴效果
- 爱酱(绊爱Kizuna)模型
- 遗传算法越野小车unity5.5
- unity 3D 百度语音合成 并播放
- unity案例入门坦克大战源码
- Graph And Chart 1.91.unitypackage
- Animated Steel Coaster 1.51.rar
- Unity3D游戏开发.pdf 宣雨松著完整高清
- Unity3D版水果忍者
- unity3d爆炸特效包
- unity3d_见缝插针源码及报告.zip
- Unity3d车库场景模型
- unity3d 警察动画模型
- unity20多种烟雾以及爆炸特效
- unity博物馆.zip
评论
共有 条评论