Oprettelse af et brugerdefineret redigeringsvindue i Unity

Unitys editor-scripting-funktioner giver udviklere mulighed for at udvide funktionaliteten af ​​Unity Editor, så den passer til deres behov. En effektiv måde at gøre dette på er ved at oprette brugerdefinerede editorvinduer. I denne vejledning opretter vi et simpelt brugerdefineret redigeringsvindue, der giver dig mulighed for at batch-omdøbe spilobjekter i din scene. Dette værktøj kan være en enorm tidsbesparelse, når du håndterer et stort antal objekter.

Trin 1: Opsætning af scriptet

Først skal vi oprette et nyt script, der definerer vores brugerdefinerede redigeringsvindue. I Unity skal du gå til Assets > Create > C# Script og navngive det BatchRenamer.

Trin 2: Skrivning af Custom Editor Window Script

Åbn BatchRenamer.cs scriptet og erstat dets indhold med følgende kode:

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

Forklaring af kodekset

Her er, hvad hver del af scriptet gør:

  • BatchRenamer: EditorWindow: Denne klasse arver fra EditorWindow, hvilket gør det til et brugerdefineret redigeringsvindue.
  • [MenuItem("Window/Batch Renamer")]: Denne attribut tilføjer et element til Unity Editor's Window-menuen, så du kan åbne det brugerdefinerede vindue.
  • ShowWindow(): Denne metode kaldes, når der klikkes på menupunktet. Det åbner det brugerdefinerede editorvindue.
  • OnGUI(): Denne metode kaldes for at tegne vinduets GUI. Den opretter felter for basisnavnet og startnummeret og en knap til at udløse omdøbningsprocessen.
  • RenameGameObjects(): Denne metode omdøber alle valgte spilobjekter i scenen baseret på det angivne basisnavn og startnummer.

Trin 3: Brug af Custom Editor-vinduet

Følg disse trin for at bruge det tilpassede redigeringsvindue:

  1. Åbn Unity og vælg de spilobjekter, du vil omdøbe i hierarkivinduet.
  2. Gå til Window > Batch Renamer for at åbne det brugerdefinerede redigeringsvindue.
  3. Indtast et basisnavn og startnummer i de angivne felter.
  4. Klik på knappen Omdøb. De valgte spilobjekter vil blive omdøbt i overensstemmelse hermed.

Konklusion

Ved at oprette brugerdefinerede editorvinduer kan du forbedre din produktivitet markant i Unity. Dette enkle batch-omdøbningsværktøj er blot et eksempel på, hvordan du kan udvide Unity-editoren, så den passer bedre til din arbejdsgang. Med editor-scripting er mulighederne uendelige, hvilket giver dig mulighed for at skabe værktøjer, der imødekommer specifikt dit projekts behov.