使用脚本将项目文件夹重新分配给其他资产包

时间:2019-01-31 07:52:05

标签: unity3d

我的项目中有几个文件夹已分配给资产束。这些捆绑包以site-example_ext的格式命名。我正在尝试创建一个脚本,该脚本将更改这些文件夹分配给的资产捆绑包。

Folder assign to Asset Bundle

我想要的是资产文件夹引用的列表,这些引用已明确地分配给捆绑包。我目前使用的代码提取了隐式分配给分发包且不包括文件夹的所有资产的路径。

var SiteName = "site-NewSite";
var currentBundles = AssetDatabase.GetAllAssetBundleNames().Where(m => m.StartsWith("site-") && !m.StartsWith(SiteName));
foreach ( var currentBundle in currentBundles ) {
    var newBundle = SiteName + "/" + SiteName + currentBundle.Substring(currentBundle.LastIndexOf("_"));

    // THIS! Returns all *implicit* assigned assets and NO folders >:(
    var currentAssets = AssetDatabase.GetAssetPathsFromAssetBundle(currentBundle);

    foreach ( var currentAsset in currentAssets) {
        AssetImporter.GetAtPath(currentAsset).SetAssetBundleNameAndVariant(newBundle, "");
        Debug.Log("Rebundled Asset [" + currentAsset + "]\n(\"" + currentBundle + "\" -> \"" + newBundle + "\")");
    }
}

我不愿遍历轮询每个文件夹的Project树。
有什么建议吗?

0 个答案:

没有答案