unity的assetbundle的自动命名,以我的命名lua为例
static string testDir = "Assets/LuaScripts/"; [MenuItem("测试/lua命名")] public static void MakeLuaBundleNames() { //获取testDir路径下的所有文件 foreach (var filepath in Directory.GetFiles(testDir, "*.*", SearchOption.AllDirectories)) { //排除.meta文件 if (filepath.EndsWith(".meta")) continue; //获得文件 var importer = AssetImporter.GetAtPath(filepath); //排除一些空文件比如文件夹之类 if (importer == null) { //Log.Error("Not found: {0}", filepath); continue; } //获取文件在此testdir中的具体路径 var bundleName = filepath.Substring(testDir.Length, filepath.Length - testDir.Length); //Debug.Log(bundleName); /************************************我的lua的命名规则**************************************/ //1.最外层的不会被命名(最外层会有些其他文件)[一个"\"不会被命名] //2.命名的则ablua/lua_第一层目录_第二层目录, 例: ablua/lua_ablua_battle //3.目前就2层目录 char b = '\\'; //c# linq语言查询某个字符的个数 //int num = (from q in bundleName where q.Contains(b) select q).Count(); //使用lamda表达式 int count = bundleName.Count(ch => ch == b); if (count == 2) { string[] str = bundleName.Split('\\'); string luaName = "ablua/lua_" + str[0] + "_" + str[1]; //对ab名进行赋值 importer.assetBundleName = luaName; } /*********************************************************************************************/ } Debug.Log("完毕"); }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~