[MenuItem("Tool/RenamePre")] public static void ToRename() { UnityEngine.Object[] m_objects = Selection.GetFiltered(typeof(UnityEngine.Object), SelectionMode.DeepAssets);//选择对象下的所有文件 //TopLevel:仅返回最顶层选择的变换;其他选择的子对象将被过滤出。 //Deep:返回选择和所有选择的子变换。 //ExcludePrefab:从选择中排除任何预制。 //Editable:排除任何对象不得修改。 //Assets:仅返回资源目录中的资源对象。 //DeepAssets:如果选择包含文件夹,也包含所有资源和子目录。 foreach (UnityEngine.Object item in m_objects) { if (Path.GetExtension(AssetDatabase.GetAssetPath(item)) != "")//判断路径是否为空 { string path = AssetDatabase.GetAssetPath(item); string txt = Resources.Load<TextAsset>("Language/English/World Cup").text;//通过读取配置表来修改预制体的名字 string[] contents = txt.Trim().Split(new string[] { "\r\n" }, StringSplitOptions.None); string headerinfo = contents[0]; string[] headerFields = headerinfo.Split('\t'); for (int i = 1; i < contents.Length; i++) { string[] dataFields = contents[i].Split('\t'); print(dataFields[0]); AssetDatabase.RenameAsset(path, dataFields[0].Trim()); } } } AssetDatabase.SaveAssets(); AssetDatabase.Refresh(); }
批量修改预制体的名字
猜你喜欢
转载自blog.csdn.net/m0_37471675/article/details/80452617
今日推荐
周排行