先贴上代码:
[MenuItem("ITools/AssetBundles/MarkAsset", false, 100)]
public static void MarkAssetBundle()
{
AssetDatabase.StartAssetEditing();
AssetDatabase.RemoveUnusedAssetBundleNames();
string path = Application.dataPath + "/Art/Scences/";
DirectoryInfo dir = new DirectoryInfo(path);
FileSystemInfo[] filesInfo = dir.GetFileSystemInfos();
for (int i = 0; i < filesInfo.Length; i++)
{
EditorUtility.DisplayProgressBar("Mark", "Mark", (float)i/filesInfo.Length);
FileSystemInfo tmpFile = filesInfo[i];
if (tmpFile is DirectoryInfo)
{
string tmpPath = Path.Combine(path, tmpFile.Name);
//Debug.Log("tmpPath==="+tmpPath); // ScencesOne 具体到某一个场景文件夹
BuildScript.MarkAndRecordAssetBundle(tmpPath);
}
}
EditorUtility.DisplayProgressBar("Mark", "Mark", 1.0f);
EditorUtility.ClearProgressBar();
AssetDatabase.StopAssetEditing();
}
把所有需要打包的资源放到/Art/Scences/这个路径下,以场景界面为一个包,命名方式为场景名,加界面名。