Unity 在Inspector 中做出Shader里面的Select图片样式

就是在自定义Inspector面板中做出

的样式。

参考文章:http://www.xuanyusong.com/archives/2202

先建一个Icon  C#脚本

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Icon : MonoBehaviour
{
    public Sprite icon;
}


再建一个C#脚本

using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;




//CustomEditor(typeof()) 用于关联你要自定义的脚本
[CustomEditor(typeof(Icon))]
//必须要让该类继承自Editor,且不需要导入UnityEditor程序集
public class IconInspector : Editor {


    public override void OnInspectorGUI()
    {
        //得到Icon对象
        Icon icon = (Icon)target;
        //绘制一个贴图槽
        icon.icon = EditorGUILayout.ObjectField("增加一个贴图", icon.icon, typeof(Texture), true) as Sprite;
    }

}


得到如下效果




如果将 icon.icon = EditorGUILayout.ObjectField("增加一个贴图", icon.icon, typeof(Texture), true) as Sprite;

中的红色部分删除后icon.icon = EditorGUILayout.ObjectField(icon.icon, typeof(Texture), true) as Sprite;

得到如下效果


你可能感兴趣的:(Unity 在Inspector 中做出Shader里面的Select图片样式)