[Unity(C#)] EditorWindow에서 통일적으로 이름 바꾸기

Prefab은 간단합니다.


Prefab의 경우 대량 변경이 쉽습니다.
그러나 다른 대상을 하나의 유형으로 구분하고 이름을 바꾸려고 할 때
이름 엉덩이에 색인을 붙여서 정리하고 싶을 때는 불가능해요.

프레젠테이션


Hierarchy에서 선택한 객체의 모든 하위 객체에 대해
색인으로 이름을 바꾼 편집기를 확장합니다.

코드


제가 Editor Windows 확장에 익숙하지 않아서요.
잘 적어두고 싶어요.
도구 모음에 표시된 내 도구 실행
#if UNITY_EDITOR
using UnityEngine;
using UnityEditor;

public class RenameAllChildren : EditorWindow
{
    static EditorWindow window;
    string textField = "";

    [MenuItem("MyTools/RenameAllChildren")]
    static void ShowWindow()
    {
        window = EditorWindow.GetWindow(typeof(RenameAllChildren));
        window.position =new Rect(Screen.width*2, Screen.height/2, 300,100);
    }

    void OnGUI()
    {
        GUILayout.Space(25);

        EditorGUILayout.BeginHorizontal();

        GUILayout.Label( "ObjectName" );
        textField = GUILayout.TextField( textField , GUILayout.Width(window.position.width/1.5f));

        GUILayout.EndHorizontal();
        GUILayout.Space(25);

        if( GUILayout.Button( "Change all names of ChildrenObject" ) )
        {
            int num = 1;

            GameObject selectionObj = Selection.activeGameObject;

            for (int i = 0; i < selectionObj.transform.childCount;i++)
            {
                Transform childTransform = selectionObj.transform.GetChild(i);

                childTransform.name = textField + num;
                num++;
            }
        }
    }
}
#endif

EditorWindow 크기, 위치 조정


아니오
속성을 한 번에 변수EditorWindow.GetWindow();에 넣으면 편집할 수 있습니다.
준비 변수
    window = EditorWindow.GetWindow(typeof(RenameAllChildren));
    window.position = new Rect(Screen.width*2, Screen.height/2, 300,100);
또한 .position, Screen.width 화면의 크기를 얻을 수 있어 조절하기 편리하다.

수평 배열 GUI


그림처럼 배열하는 방법.
EditorGUILayout.BeginHorizontal();
//横並びにしたいGUI達
GUILayout.EndHorizontal();

Hierarchy에서 선택한 객체 읽어들이기


큰 장면을 렌더링하는 동안 이 고장이 발견되었습니다.Screen.height 순서대로 하위 객체를 체크 인하고 이름을 바꿉니다.Selection.activeGameObject 하위 객체가 없는 경우 0
순환 조건은 오류가 발생하지 않습니다.

총결산

transform.GetChild(i) 덕분에 다양한 편집기를 확장할 수 있을 것 같습니다.
있다면 편리한 기능은 갈수록 Editor Windows화될 것이다.
참조 링크: Hierarchy에서 선택한 개체의 아이와 함께 NavMeshArea 설정을 변경하는 방법

좋은 웹페이지 즐겨찾기