Een aangepast editorvenster maken in Unity

Unity's editor-scriptingmogelijkheden stellen ontwikkelaars in staat de functionaliteit van de Unity Editor uit te breiden om aan hun behoeften te voldoen. Een krachtige manier om dit te doen is door aangepaste editorvensters te maken. In deze zelfstudie maken we een eenvoudig, aangepast editorvenster waarmee u game-objecten in uw scène in batches kunt hernoemen. Deze tool kan een enorme tijdbesparing opleveren bij het omgaan met grote aantallen objecten.

Stap 1: Het script opzetten

Eerst moeten we een nieuw script maken dat ons aangepaste editorvenster definieert. Ga in Unity naar Assets > Maken > C#-script en noem het BatchRenamer.

Stap 2: Het aangepaste editorvensterscript schrijven

Open het script BatchRenamer.cs en vervang de inhoud door de volgende code:

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

Uitleg van de Code

Dit is wat elk onderdeel van het script doet:

  • BatchRenamer: EditorWindow: Deze klasse erft van EditorWindow, waardoor het een aangepast editorvenster wordt.
  • [MenuItem("Window/Batch Renamer")]: Dit attribuut voegt een item toe aan het Unity Editor's Window-menu, waardoor u het aangepaste venster kunt openen.
  • ShowWindow(): Deze methode wordt aangeroepen wanneer op het menu-item wordt geklikt. Het opent het aangepaste editorvenster.
  • OnGUI(): Deze methode wordt aangeroepen om de GUI van het venster te tekenen. Het creëert velden voor de basisnaam en het startnummer, en een knop om het hernoemingsproces te starten.
  • RenameGameObjects(): Deze methode hernoemt alle geselecteerde spelobjecten in de scène op basis van de opgegeven basisnaam en startnummer.

Stap 3: Het aangepaste editorvenster gebruiken

Volg deze stappen om het aangepaste editorvenster te gebruiken:

  1. Open Unity en selecteer de game-objecten die u wilt hernoemen in het Hiërarchievenster.
  2. Ga naar Venster > Batchhernoemer om het aangepaste editorvenster te openen.
  3. Voer een basisnaam en startnummer in de daarvoor bestemde velden in.
  4. Klik op de knop Hernoemen. De geselecteerde spelobjecten worden dienovereenkomstig hernoemd.

Conclusie

Door aangepaste editorvensters te maken, kunt u uw productiviteit in Unity aanzienlijk verhogen. Deze eenvoudige tool voor het hernoemen van batches is slechts één voorbeeld van hoe u de Unity Editor kunt uitbreiden zodat deze beter bij uw workflow past. Met editorscripting zijn de mogelijkheden eindeloos, waardoor u tools kunt maken die specifiek op de behoeften van uw project zijn afgestemd.