批量设置AssetBundleName

Posted 学习笔记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了批量设置AssetBundleName相关的知识,希望对你有一定的参考价值。

using UnityEngine;
using System.Collections;
using UnityEditor;
using System.IO;

public class ChangeName : MonoBehaviour {

//    public string versionDir;
//    public string abName;

    void Start () 
    {
        for(int i = 0;i< 27;i++)
        {
            string path = "RES/com/face/prefab/0_"+i;
            string abname = "face0_" + i;
            SetVersionDirAssetName (path,abname);
        }
    }
    
    public void SetVersionDirAssetName(string versionDir,string abName)
    {
        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 = abName;
                    }
                }
            }
            EditorUtility.ClearProgressBar();
        }
    }
}

 

以上是关于批量设置AssetBundleName的主要内容,如果未能解决你的问题,请参考以下文章

unity创建和加载AssetBundle

如何从选项卡片段中的 AsyncTask Resftful WS 加载批量数据

如何通过代码设置片段标签?

VSCode插件开发全攻略代码片段设置自定义欢迎页

Mybaits的批量操作包括批量删除 批量增加和批量更新

错误代码:错误域 = NSCocoaErrorDomain 代码 = 3840“JSON 文本没有以数组或对象和允许未设置片段的选项开头。”