Opprette et tilpasset redigeringsvindu i Unity

Unitys editor scripting evner lar utviklere utvide funksjonaliteten til Unity Editor for å passe deres behov. En kraftig måte å gjøre dette på er å lage tilpassede redigeringsvinduer. I denne opplæringen lager vi et enkelt tilpasset redigeringsvindu som lar deg endre navn på spillobjekter i scenen. Dette verktøyet kan være en stor tidsbesparelse når du arbeider med et stort antall objekter.

Trinn 1: Sette opp skriptet

Først må vi lage et nytt skript som vil definere vårt egendefinerte redigeringsvindu. I Unity, gå til Assets > Create > C# Script og gi det navnet BatchRenamer.

Trinn 2: Skriving av Custom Editor Window Script

Åpne BatchRenamer.cs-skriptet og erstatt innholdet 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 av koden

Her er hva hver del av skriptet gjør:

  • BatchRenamer: EditorWindow: Denne klassen arver fra EditorWindow, noe som gjør den til et tilpasset redigeringsvindu.
  • [MenuItem("Window/Batch Renamer")]: Dette attributtet legger til et element til Unity Editor's Window-menyen, slik at du kan åpne det tilpassede vinduet.
  • ShowWindow(): Denne metoden kalles når menyelementet klikkes. Det åpner det tilpassede redigeringsvinduet.
  • OnGUI(): Denne metoden kalles for å tegne vinduets GUI. Den oppretter felt for basenavnet og startnummeret, og en knapp for å utløse endringsprosessen.
  • RenameGameObjects(): Denne metoden gir nytt navn til alle valgte spillobjekter i scenen basert på oppgitt basenavn og startnummer.

Trinn 3: Bruke Custom Editor-vinduet

Følg disse trinnene for å bruke det tilpassede redigeringsvinduet:

  1. Åpne Unity og velg spillobjektene du vil gi nytt navn i hierarkivinduet.
  2. Gå til Window > Batch Renamer for å åpne det tilpassede redigeringsvinduet.
  3. Skriv inn et basenavn og startnummer i feltene.
  4. Klikk på Rename-knappen. De valgte spillobjektene vil få nytt navn tilsvarende.

Konklusjon

Ved å lage tilpassede redigeringsvinduer kan du forbedre produktiviteten betraktelig i Unity. Dette enkle batch renamer-verktøyet er bare ett eksempel på hvordan du kan utvide Unity Editor for å passe bedre til arbeidsflyten din. Med editor-skripting er mulighetene uendelige, slik at du kan lage verktøy som spesifikt imøtekommer prosjektets behov.