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:
- Åpne Unity og velg spillobjektene du vil gi nytt navn i hierarkivinduet.
- Gå til Window > Batch Renamer for å åpne det tilpassede redigeringsvinduet.
- Skriv inn et basenavn og startnummer i feltene.
- 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.