using UnityEngine; using UnityEditor; using System.Linq; public class RenameTool : EditorWindow { private string prefix = "Object_"; //前缀 private int startIndex = 1; //序号起始值 private int step = 1; //序号递增值 [MenuItem("Tools/Rename Tool")] //在Unity菜单中添加一个名为“Rename Tool”的工具选项 public static void ShowWindow() { EditorWindow.GetWindow(typeof(RenameTool)); } void OnGUI() { GUILayout.Label("Object Renaming Tool", EditorStyles.boldLabel); //在编辑器窗口中显示标题 prefix = EditorGUILayout.TextField("Prefix:", prefix); //添加文本框,以便用户输入前缀 startIndex = EditorGUILayout.IntField("Start Index:", startIndex); //添加文本框,以便用户输入序号的起始值 step = EditorGUILayout.IntField("Step:", step); //添加文本框,以便用户输入序号的递增值 if (GUILayout.Button("Rename Selected Objects")) { RenameSelectedObjects(); //添加一个按钮,以便用户单击以开始对选择的物体进行重命名 } } private void RenameSelectedObjects() { int index = startIndex; var result = Selection.gameObjects.OrderBy(obj => obj.transform.GetSiblingIndex()); foreach (GameObject gameObject in result) //循环遍历选中的每个物体 { gameObject.name = prefix + index; //为该物体命名并添加前缀和序号 index += step; //递增序号 } } }