Unity에서 사용자 정의 편집기 창 만들기

Unity의 에디터 스크립팅 기능을 통해 개발자는 필요에 맞게 Unity 에디터의 기능을 확장할 수 있습니다. 이를 수행하는 한 가지 강력한 방법은 사용자 정의 편집기 창을 만드는 것입니다. 이 튜토리얼에서는 장면에서 게임 개체의 이름을 일괄적으로 바꿀 수 있는 간단한 사용자 정의 편집기 창을 만들어 보겠습니다. 이 도구는 많은 수의 개체를 처리할 때 시간을 크게 절약해 줍니다.

1단계: 스크립트 설정

먼저 사용자 정의 편집기 창을 정의할 새 스크립트를 만들어야 합니다. Unity에서 Assets > Create > C# Script로 이동하고 이름을 BatchRenamer로 지정합니다.

2단계: 사용자 정의 편집기 창 스크립트 작성

BatchRenamer.cs 스크립트를 열고 해당 내용을 다음 코드로 바꿉니다.

using UnityEditor;
using UnityEngine;

public class BatchRenamer : EditorWindow
{
    private string baseName = "GameObject";
    private int startNumber = 0;

    [MenuItem("Window/Batch Renamer")]
    public static void ShowWindow()
    {
        GetWindow<BatchRenamer>("Batch Renamer");
    }

    private void OnGUI()
    {
        GUILayout.Label("Batch Rename GameObjects", EditorStyles.boldLabel);

        baseName = EditorGUILayout.TextField("Base Name", baseName);
        startNumber = EditorGUILayout.IntField("Start Number", startNumber);

        if (GUILayout.Button("Rename"))
        {
            RenameGameObjects();
        }
    }

    private void RenameGameObjects()
    {
        GameObject[] selectedObjects = Selection.gameObjects;
        for (int i = 0; i < selectedObjects.Length; i++)
        {
            selectedObjects[i].name = baseName + (startNumber + i);
        }
    }
}

코드 설명

스크립트의 각 부분이 수행하는 작업은 다음과 같습니다.

  • BatchRenamer: EditorWindow: 이 클래스는 EditorWindow에서 상속되어 사용자 정의 편집기 창으로 만듭니다.
  • [MenuItem("Window/Batch Renamer")]: 이 속성은 Unity 편집기의 창 메뉴에 항목을 추가하여 사용자 정의 창을 열 수 있도록 합니다.
  • ShowWindow(): 이 메서드는 메뉴 항목을 클릭하면 호출됩니다. 사용자 지정 편집기 창을 엽니다.
  • OnGUI(): 이 메서드는 창의 GUI를 그리기 위해 호출됩니다. 기본 이름과 시작 번호에 대한 필드와 이름 변경 프로세스를 트리거하는 버튼을 생성합니다.
  • RenameGameObjects(): 이 메서드는 제공된 기본 이름과 시작 번호를 기반으로 장면에서 선택한 모든 게임 개체의 이름을 바꿉니다.

3단계: 사용자 정의 편집기 창 사용

사용자 정의 편집기 창을 사용하려면 다음 단계를 따르십시오.

  1. Unity을 열고 Hierarchy 창에서 이름을 바꾸려는 게임 개체를 선택합니다.
  2. 창 > 일괄 이름 변경으로 가서 사용자 정의 편집기 창을 여세요.
  3. 제공된 필드에 기본 이름과 시작 번호를 입력합니다.
  4. 이름 바꾸기 버튼을 클릭합니다. 선택한 게임 객체의 이름이 그에 따라 바뀝니다.

결론

사용자 정의 편집기 창을 생성하면 Unity에서 생산성을 크게 향상시킬 수 있습니다. 이 간단한 일괄 이름 변경 도구는 작업 흐름에 더 적합하도록 Unity 편집기를 확장할 수 있는 방법의 한 예일 뿐입니다. 편집기 스크립팅을 사용하면 가능성이 무궁무진하므로 프로젝트 요구 사항에 특별히 맞는 도구를 만들 수 있습니다.