Creación de una ventana de editor personalizada en Unity

Las capacidades de secuencias de comandos del editor de Unity permiten a los desarrolladores ampliar la funcionalidad del editor Unity para satisfacer sus necesidades. Una forma poderosa de hacerlo es creando ventanas de editor personalizadas. En este tutorial, crearemos una ventana de editor personalizada simple que te permitirá cambiar el nombre de los objetos del juego en lotes en tu escena. Esta herramienta puede suponer un gran ahorro de tiempo cuando se trabaja con una gran cantidad de objetos.

Paso 1: configurar el script

Primero, necesitamos crear un nuevo script que definirá nuestra ventana de editor personalizada. En Unity, ve a Recursos > Crear > Script de C# y nómbralo BatchRenamer.

Paso 2: Escritura del script de la ventana del editor personalizado

Abra el script BatchRenamer.cs y reemplace su contenido con el siguiente código:

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);
        }
    }
}

Explicación del Código

Esto es lo que hace cada parte del script:

  • BatchRenamer: EditorWindow: Esta clase hereda de EditorWindow, lo que la convierte en una ventana de editor personalizada.
  • [MenuItem("Window/Batch Renamer")]: Este atributo agrega un elemento al menú Ventana del Editor Unity, permitiéndole abrir la ventana personalizada.
  • ShowWindow(): este método se llama cuando se hace clic en el elemento del menú. Abre la ventana del editor personalizado.
  • OnGUI(): este método se llama para dibujar la interfaz gráfica de usuario de la ventana. Crea campos para el nombre base y el número de inicio, y un botón para activar el proceso de cambio de nombre.
  • RenameGameObjects(): este método cambia el nombre de todos los objetos de juego seleccionados en la escena según el nombre base y el número de inicio proporcionados.

Paso 3: Uso de la ventana del editor personalizado

Para utilizar la ventana del editor personalizado, siga estos pasos:

  1. Abra Unity y seleccione los objetos del juego que desea cambiar de nombre en la ventana Jerarquía.
  2. Vaya a Ventana > Batch Renamer para abrir la ventana del editor personalizado.
  3. Ingrese un nombre base y un número de inicio en los campos provistos.
  4. Haga clic en el botón Cambiar nombre. Los objetos del juego seleccionados cambiarán de nombre en consecuencia.

Conclusión

Al crear ventanas de editor personalizadas, puede mejorar significativamente su productividad en Unity. Esta sencilla herramienta de cambio de nombre por lotes es solo un ejemplo de cómo puede ampliar el Editor Unity para que se adapte mejor a su flujo de trabajo. Con la creación de scripts para el editor, las posibilidades son infinitas, lo que le permite crear herramientas que se adapten específicamente a las necesidades de su proyecto.