Створення спеціального вікна редактора в 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 і виберіть ігрові об’єкти, які потрібно перейменувати, у вікні «Ієрархія».
  2. Перейдіть до Вікно > Пакетне перейменування, щоб відкрити вікно спеціального редактора.
  3. Введіть назву бази та стартовий номер у відповідні поля.
  4. Натисніть кнопку Перейменувати. Вибрані ігрові об’єкти будуть відповідно перейменовані.

Висновок

Створюючи власні вікна редактора, ви можете значно підвищити свою продуктивність у Unity. Цей простий інструмент пакетного перейменування є лише одним із прикладів того, як ви можете розширити редактор Unity, щоб краще відповідати вашому робочому процесу. За допомогою сценаріїв редактора можливості безмежні, дозволяючи вам створювати інструменти, які задовольняють потреби вашого проекту.