Unity Editor 扩展入门1

教程来源:https://www.youtube.com/watch?v=491TSNwXTIg&t=204s

一个点击物体修改材质颜色的简单editor扩展工具

 

 

复制代码
using UnityEngine;
using UnityEditor;
 
public class ExampleWindow : EditorWindow
{
    [MenuItem("Window/Colorizer")]
    public static void ShowWindow()
    {
        //Create Instance of Example Window
        GetWindow<ExampleWindow>("Colorizer");
    }
 
    private Color color;
    private void OnGUI()
    {
        //Show a label 
        GUILayout.Label("Color the selected objects!",EditorStyles.boldLabel);
        //Show Input text field  Name: m_Name
        //string name = EditorGUILayout.TextField("Name", name);
        //name = EditorGUILayout.TextField("Name", name);
        color = EditorGUILayout.ColorField("Color", color);
        
        //Button 
        if (GUILayout.Button("COLORIZE!"))
        {
            //Colorize objs which are selected
            Renderer renderer;
            foreach (GameObject obj in Selection.gameObjects)
            {
                renderer = obj.GetComponent<Renderer>();
                if (renderer != null)
                {
                    renderer.sharedMaterial.color = color;
                }
            }
        }
    }
}
复制代码

 

posted @   pengpeng!  阅读(38)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示