Bootstrap

unity 创建重命名文件工具(支持多个文件/夹)

unity 对中文支持度很好,所以建模时一般会用中文命名文件夹还有贴图或纹理,但是unity在转换成babylon或其他项目时,会出现中文编码不被支持,如果要一个个修改中文命名会很麻烦,所以可以借助命名修改工具。

步骤:

1、在Assets 项目下创建Editor文件夹,右击Editor文件夹,新建 C# 文件
2、代码+运行

using UnityEditor;
using UnityEngine;

public class ReNameTool : EditorWindow
{
    public string preFix = "texture_";
    public string nameId = "0";

    [MenuItem("Window/ReNameTool")]
    public static void ShowWindow()
    {
        EditorWindow.GetWindow(typeof(ReNameTool));
    }

    private void OnGUI()
    {
        DrawGUI();
    }

    private void Update()
    {
        Repaint();
    }

    private void DrawGUI()
    {
        GUILayout.BeginArea(new Rect(0, 5, Screen.width, 180));
        GUILayout.Box("ReName Setting");

        GUILayout.Label("PreFix :");
        preFix = GUILayout.TextField(preFix);

        GUILayout.Label("NameId :");
        nameId = GUILayout.TextField(nameId);

        if (GUILayout.Button("reName"))
        {
            RenameObjects();
        }

        GUILayout.EndArea();
    }

    public void RenameObjects()
    {
        Object[] selectedObjects = Selection.GetFiltered(typeof(Object), SelectionMode.Assets);
        int index = 0;
        foreach (Object obj in selectedObjects)
        {
            string path = AssetDatabase.GetAssetPath(obj);
            if (System.IO.Path.GetExtension(path) != "")
            {
                string newName = preFix + nameId + index;
                AssetDatabase.RenameAsset(path, newName);
                index++;
            }
        }
        AssetDatabase.SaveAssets();
        AssetDatabase.Refresh();
    }
}

3、使用
1》选中要修改的文件或文件夹(可多选)
2》点击unity菜单栏 “Window”–>”ReNameTool“选项,可以自定义修改的文件名及起始索引
3》点击reName运行

;