代码参考蛮牛教育CTO教你万能框架教程
利用Editor统一AssetBundle的命名规则。
文件结构如下所示
命名规则:
1.对Art/Scenes下文件进行命名,所有文件的AssetBundleName为Scenes下二级子文件夹名称,例如:Cube(1)的assetBundleName为sceneone/font
2.其中普通文件.ld,场景文件后缀.u3d
代码如下
using System.Collections.Generic;
using System.IO;
using UnityEditor;
using UnityEngine;
public class AssetBundleEditor : Editor
{
[MenuItem("ITools/BuildeAssetBundle")]
public static void BuildAssetBundle()
{
BuildPipeline.BuildAssetBundles(Application.dataPath + "/AssetBundle", 0, EditorUserBuildSettings.activeBuildTarget);
//刷新
AssetDatabase.Refresh();
}
[MenuItem("ITools/MarkAssetBundle")]
public static void MarkAssetBundle()
{
AssetDatabase.RemoveUnusedAssetBundleNames();
string path = Application.dataPath + "/Art/Scenes";
DirectoryInfo dir = new DirectoryInfo(path);
FileSystemInfo[] fileInfo = dir.GetFileSystemInfos();
for (int i = 0; i < fileInfo.Length; i++)
{
FileSystemInfo tmpFile = fileInfo[i];
if (tmpFile is DirectoryInfo)
{
string tmpPath = Path.Combine(path, tmpFile.Name);
ScenesOverView(tmpPath);
}
}
//刷新
AssetDatabase.Refresh();
}