Skapa ett anpassat redigeringsfönster i Unity

Unitys redaktörsskriptfunktioner tillåter utvecklare att utöka funktionaliteten för Unity Editor för att passa deras behov. Ett kraftfullt sätt att göra detta är att skapa anpassade redigeringsfönster. I den här handledningen skapar vi ett enkelt anpassat redigeringsfönster som låter dig byta namn på spelobjekt i din scen. Detta verktyg kan vara en enorm tidsbesparare när du hanterar ett stort antal objekt.

Steg 1: Konfigurera skriptet

Först måste vi skapa ett nytt skript som kommer att definiera vårt anpassade redigeringsfönster. I Unity, gå till Assets > Create > C# Script och döp det till BatchRenamer.

Steg 2: Skriver det Custom Editor Window Script

Öppna BatchRenamer.cs-skriptet och ersätt dess innehåll med följande kod:

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

Förklaring av koden

Så här gör varje del av skriptet:

  • BatchRenamer: EditorWindow: Den här klassen ärver från EditorWindow, vilket gör den till ett anpassat redigeringsfönster.
  • [MenuItem("Window/Batch Renamer")]: Detta attribut lägger till ett objekt till Unity Editor's Window-menyn, så att du kan öppna det anpassade fönstret.
  • ShowWindow(): Denna metod anropas när menyalternativet klickas. Det öppnar det anpassade redigeringsfönstret.
  • OnGUI(): Denna metod anropas för att rita fönstrets GUI. Den skapar fält för basnamnet och startnumret, och en knapp för att utlösa byteprocessen.
  • RenameGameObjects(): Den här metoden byter namn på alla valda spelobjekt i scenen baserat på det angivna basnamnet och startnumret.

Steg 3: Använda Custom Editor-fönstret

Följ dessa steg för att använda det anpassade redigeringsfönstret:

  1. Öppna Unity och välj spelobjekten du vill byta namn på i Hierarkifönstret.
  2. Gå till Window > Batch Renamer för att öppna det anpassade redigeringsfönstret.
  3. Ange ett basnamn och startnummer i fälten.
  4. Klicka på knappen Rename. De valda spelobjekten kommer att döpas om i enlighet med detta.

Slutsats

Genom att skapa anpassade redigeringsfönster kan du förbättra din produktivitet avsevärt i Unity. Detta enkla batch-döperverktyg är bara ett exempel på hur du kan utöka Unity Editor för att bättre passa ditt arbetsflöde. Med redigeringsskript är möjligheterna oändliga, vilket gör att du kan skapa verktyg som tillgodoser ditt projekts behov specifikt.