Création d'une fenêtre d'éditeur personnalisée dans Unity

Les fonctionnalités de script de l'éditeur d'Unity permettent aux développeurs d'étendre les fonctionnalités de l'éditeur Unity en fonction de leurs besoins. Une manière efficace de le faire est de créer des fenêtres d'éditeur personnalisées. Dans ce didacticiel, nous allons créer une fenêtre d'éditeur personnalisée simple qui vous permet de renommer par lots des objets de jeu dans votre scène. Cet outil peut vous faire gagner beaucoup de temps lorsque vous traitez un grand nombre d'objets.

Étape 1: Configuration du script

Tout d'abord, nous devons créer un nouveau script qui définira notre fenêtre d'éditeur personnalisée. Dans Unity, allez dans Assets > Create > C# Script et nommez-le BatchRenamer.

Étape 2: écriture du script de la fenêtre de l'éditeur personnalisé

Ouvrez le script BatchRenamer.cs et remplacez son contenu par le code suivant:

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

Explication du Code

Voici ce que fait chaque partie du script:

  • BatchRenamer: EditorWindow: Cette classe hérite de EditorWindow, ce qui en fait une fenêtre d'éditeur personnalisée.
  • [MenuItem("Window/Batch Renamer")]: Cet attribut ajoute un élément au menu Fenêtre de l'éditeur Unity, vous permettant d'ouvrir la fenêtre personnalisée.
  • ShowWindow(): Cette méthode est appelée lorsque l'on clique sur l'élément de menu. Il ouvre la fenêtre de l'éditeur personnalisé.
  • OnGUI(): Cette méthode est appelée pour dessiner l'interface graphique de la fenêtre. Il crée des champs pour le nom de base et le numéro de départ, ainsi qu'un bouton pour déclencher le processus de changement de nom.
  • RenameGameObjects(): Cette méthode renomme tous les objets de jeu sélectionnés dans la scène en fonction du nom de base et du numéro de départ fournis.

Étape 3: Utilisation de la fenêtre de l’éditeur personnalisé

Pour utiliser la fenêtre de l’éditeur personnalisé, procédez comme suit:

  1. Ouvrez Unity et sélectionnez les objets de jeu que vous souhaitez renommer dans la fenêtre Hiérarchie.
  2. Accédez à Fenêtre > Renamer par lots pour ouvrir la fenêtre de l'éditeur personnalisé.
  3. Entrez un nom de base et un numéro de départ dans les champs fournis.
  4. Cliquez sur le bouton Renommer. Les objets de jeu sélectionnés seront renommés en conséquence.

Conclusion

En créant des fenêtres d'éditeur personnalisées, vous pouvez améliorer considérablement votre productivité dans Unity. Ce simple outil de renommage par lots n'est qu'un exemple de la façon dont vous pouvez étendre l'éditeur Unity pour mieux l'adapter à votre flux de travail. Avec les scripts de l'éditeur, les possibilités sont infinies, vous permettant de créer des outils répondant spécifiquement aux besoins de votre projet.