Unity'de Özel Düzenleyici Penceresi Oluşturma

Unity'nin düzenleyici betikleme yetenekleri, geliştiricilerin Unity Düzenleyicisinin işlevselliğini ihtiyaçlarına uyacak şekilde genişletmelerine olanak tanır. Bunu yapmanın etkili bir yolu, özel düzenleyici pencereleri oluşturmaktır. Bu eğitimde, sahnenizdeki oyun nesnelerini toplu olarak yeniden adlandırmanıza olanak tanıyan basit bir özel düzenleyici penceresi oluşturacağız. Bu araç, çok sayıda nesneyle uğraşırken büyük bir zaman tasarrufu sağlayabilir.

Adım 1: Komut Dosyasını Ayarlama

Öncelikle özel editör penceremizi tanımlayacak yeni bir script oluşturmamız gerekiyor. Unity'de Assets > Create > C# Script seçeneğine gidin ve onu BatchRenamer olarak adlandırın.

Adım 2: Özel Düzenleyici Penceresi Komut Dosyasını Yazma

BatchRenamer.cs betiğini açın ve içeriğini aşağıdaki kodla değiştirin:

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

Kodun Açıklaması

İşte betiğin her bölümünün yaptığı şey:

  • BatchRenamer: EditorWindow: Bu sınıf EditorWindow'den miras alır ve onu özel bir düzenleyici penceresi haline getirir.
  • [MenuItem("Window/Batch Renamer")]: Bu özellik Unity Düzenleyicinin Penceresi menüsüne bir öğe ekleyerek özel pencereyi açmanıza olanak tanır.
  • ShowWindow(): Bu yöntem, menü öğesine tıklandığında çağrılır. Özel düzenleyici penceresini açar.
  • OnGUI(): Bu metot pencerenin GUI'sini çizmek için çağrılır. Temel isim ve başlangıç ​​numarası için alanlar ve yeniden adlandırma sürecini tetiklemek için bir buton oluşturur.
  • RenameGameObjects(): Bu yöntem, sağlanan temel ad ve başlangıç ​​numarasına göre sahnedeki seçili tüm oyun nesnelerini yeniden adlandırır.

3. Adım: Özel Düzenleyici Penceresini Kullanma

Özel düzenleyici penceresini kullanmak için şu adımları izleyin:

  1. Unity'i açın ve Hiyerarşi penceresinde yeniden adlandırmak istediğiniz oyun nesnelerini seçin.
  2. Özel düzenleyici penceresini açmak için Pencere > Toplu Yeniden Adlandırma seçeneğine gidin.
  3. Sağlanan alanlara bir baz adı ve başlangıç ​​numarası girin.
  4. Yeniden Adlandır düğmesini tıklayın. Seçilen oyun nesneleri buna göre yeniden adlandırılacaktır.

Çözüm

Özel düzenleyici pencereleri oluşturarak, Unity'deki üretkenliğinizi önemli ölçüde artırabilirsiniz. Bu basit toplu yeniden adlandırma aracı, Unity Düzenleyicisini iş akışınıza daha iyi uyacak şekilde nasıl genişletebileceğinize dair sadece bir örnektir. Düzenleyici betiklemesiyle, olanaklar sınırsızdır ve projenizin ihtiyaçlarına özel olarak hitap eden araçlar oluşturmanıza olanak tanır.