Unity中查找未打成图集的图片

写了个Unity小插件,能够遍历目录将没有打成图集的图片搜索出来
WithOutFolders为不搜索的目录
ConatainLastExtensions为搜索图片格式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
using UnityEngine;
using System.Collections;
using UnityEditor;
using System.IO;
using System.Collections.Generic;
using System.Linq;
public class FindUnDoTag {
[MenuItem("Libs/查找未打成图集的图片")]
private static void FindUnTagResource()
{
List<string> WithOutFolders = new List<string>(){"Assets/Libs","Assets/Platforms","Assets/Plugins","Assets/Resources"};
List<string> ConatainLastExtensions = new List<string>(){".png"};
string[] files = Directory.GetFiles (Application.dataPath, "*.*", SearchOption.AllDirectories)
.Where (s =>{
for(int k=0;k<WithOutFolders.Count;k++){
if(s.Contains(WithOutFolders[k])){
return false;
}
}
return ConatainLastExtensions.Contains (Path.GetExtension (s).ToLower ());
}).ToArray ();
string splitString = "Assets/";
for (int i = 0; i < files.Length; i++) {
string fullName = files [i].Substring (files [i].IndexOf(splitString));
TextureImporter importer = AssetImporter.GetAtPath(fullName) as TextureImporter;
// TextureImporter textureImporter = (TextureImporter)TextureImporter.GetAtPath (fullName);
if (importer.spritePackingTag == "") {
Log.Error (fullName);
}
}
Log.Trace ("查找结束");
}
}