Unity 5 增加了 Asset Labels,方便地制作 AssetBundles,可以参照文档 《
BuildingAssetBundles in 5.x》。
版本目录放在 Assets 根目录下,设置结果如下:
以下代码为设置指定的版本目录下所有文件的AssetName:
C# Code
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 |
/// <summary> /// 设置指定的版本目录下所有文件的AssetName /// </summary> /// <param name="versionDir"></param> public static void SetVersionDirAssetName( string versionDir) { var fullPath = Application.dataPath + "/" + versionDir + "/"; var relativeLen = versionDir.Length + 8; // Assets 长度 if (Directory.Exists(fullPath)) { EditorUtility.DisplayProgressBar( "设置AssetName名称", "正在设置AssetName名称中...", 0f); var dir = new DirectoryInfo(fullPath); var files = dir.GetFiles( "*", SearchOption.AllDirectories); for (var i = 0; i < files.Length; ++i) { var fileInfo = files[i]; EditorUtility.DisplayProgressBar( "设置AssetName名称", "正在设置AssetName名称中...", 1f * i / files.Length); if (!fileInfo.Name.EndsWith( ".meta")) { var basePath = fileInfo.FullName.Substring(fullPath.Length - relativeLen).Replace( '\\', '/'); var importer = AssetImporter.GetAtPath(basePath); if (importer && importer.assetBundleName != versionDir) { importer.assetBundleName = versionDir; } } } EditorUtility.ClearProgressBar(); } } |
版本目录放在 Assets 根目录下,设置结果如下: