Tạo cửa sổ biên tập tùy chỉnh trong Unity

Khả năng tạo tập lệnh soạn thảo của Unity cho phép các nhà phát triển mở rộng chức năng của Trình soạn thảo Unity để phù hợp với nhu cầu của họ. Một cách mạnh mẽ để làm điều này là tạo các cửa sổ soạn thảo tùy chỉnh. Trong hướng dẫn này, chúng tôi sẽ tạo một cửa sổ soạn thảo tùy chỉnh đơn giản cho phép bạn đổi tên hàng loạt đối tượng trò chơi trong cảnh của mình. Công cụ này có thể tiết kiệm rất nhiều thời gian khi xử lý số lượng lớn đối tượng.

Bước 1: Thiết lập tập lệnh

Đầu tiên, chúng ta cần tạo một tập lệnh mới để xác định cửa sổ soạn thảo tùy chỉnh của mình. Trong Unity, đi tới Assets > Create > C# Script và đặt tên là BatchRenamer.

Bước 2: Viết tập lệnh cửa sổ soạn thảo tùy chỉnh

Mở tập lệnh BatchRenamer.cs và thay thế nội dung của nó bằng mã sau:

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

Giải thích về Bộ luật

Sau đây là chức năng của từng phần trong tập lệnh:

  • BatchRenamer: EditorWindow: Lớp này kế thừa từ EditorWindow, biến nó thành cửa sổ trình soạn thảo tùy chỉnh.
  • [MenuItem("Window/Batch Renamer")]: Thuộc tính này thêm một mục vào menu Cửa sổ của Trình chỉnh sửa Unity, cho phép bạn mở cửa sổ tùy chỉnh.
  • ShowWindow(): Phương thức này được gọi khi mục menu được nhấp vào. Nó mở cửa sổ trình chỉnh sửa tùy chỉnh.
  • OnGUI(): Phương thức này được gọi để vẽ GUI của cửa sổ. Nó tạo các trường cho tên cơ sở và số bắt đầu, và một nút để kích hoạt quá trình đổi tên.
  • RenameGameObjects(): Phương pháp này đổi tên tất cả các đối tượng trò chơi được chọn trong cảnh dựa trên tên cơ sở và số bắt đầu được cung cấp.

Bước 3: Sử dụng Cửa sổ chỉnh sửa tùy chỉnh

Để sử dụng cửa sổ soạn thảo tùy chỉnh, hãy làm theo các bước sau:

  1. Mở Unity và chọn đối tượng trò chơi bạn muốn đổi tên trong cửa sổ Phân cấp.
  2. Đi tới Window > Batch Renamer để mở cửa sổ soạn thảo tùy chỉnh.
  3. Nhập tên cơ sở và số bắt đầu vào các trường được cung cấp.
  4. Nhấp vào nút Đổi tên. Các đối tượng trò chơi được chọn sẽ được đổi tên tương ứng.

Phần kết luận

Bằng cách tạo các cửa sổ soạn thảo tùy chỉnh, bạn có thể nâng cao đáng kể năng suất của mình trong Unity. Công cụ đổi tên hàng loạt đơn giản này chỉ là một ví dụ về cách bạn có thể mở rộng Trình chỉnh sửa Unity để phù hợp hơn với quy trình làm việc của mình. Với tập lệnh soạn thảo, khả năng là vô tận, cho phép bạn tạo các công cụ phục vụ riêng cho nhu cầu của dự án.