카테고리 없음

Unity_Custom_EditorWindow

zelkova 2021. 5. 3. 11:50

<목차로 돌아가기>

 

메뉴 만들기

커스텀 윈도우 만들기

아래의 소스로 새로운 메뉴를 만들 수 있습니다.

현재 상태로 클릭하면 에러가 뜰 겁니다.

 

 

예제1

 

더보기
using UnityEditor;
using UnityEngine;

public class CustomWindow : EditorWindow {
    string myString = "Hello World";
    bool groupEnabled;
    bool myBool = true;
    float myFloat = 1.23f;
    Color color;

    [MenuItem("Custom / Colorizer")]
    public static void ShowWindow() // 2
    {
        EditorWindow.GetWindow(typeof(CustomWindow));
    }
    // 창에 표시 할 항목을 정의합니다. 
    void OnGUI() //편집기를 구현합니다.
    {

        GUILayout.Label("Base Settings", EditorStyles.boldLabel);
        myString = EditorGUILayout.TextField("Text Field", myString);

        groupEnabled = EditorGUILayout.BeginToggleGroup("Optional Settings", groupEnabled);
        myBool = EditorGUILayout.Toggle("Toggle", myBool);
        myFloat = EditorGUILayout.Slider("Slider", myFloat, -3, 3);
        EditorGUILayout.EndToggleGroup();

        GUILayout.Label("선택한 개체에 색상 지정", EditorStyles.boldLabel); // 2
        color = EditorGUILayout.ColorField("Color", color); //삼


        if (GUILayout.Button("확인")) // 4
        {
            Colorize();
        }
    }

    // 색상 설정 방법 
    void Colorize() {
        foreach (GameObject obj in Selection.gameObjects) //5
        {
            Renderer renderer = obj.GetComponent<Renderer>(); //6

            if (renderer != null) {
                renderer.sharedMaterial.color = color; //7
            }
        }
    }
}

 

 

참조

CoreModule

GUILayoutDOC

EditorGUIDOC

ScriptingWizard

 

 

 

 

반응형