UnityShaderGUI笔记
ShaderGUI笔记
0、效果
可折叠展开,自定义排版
1、首先做好一个Shader,手写、SG、ASE都行,节点名称命名要规范!
打开Shader代码,在结尾添加上
CustomEditor "这里是你创建的C#脚本的名字(类名)"
//这样就可以关联在一起了 位置随意 不用填写路径 注意:要放在大括号里面
2、创建一个C#脚本
继承自ShaderGUI类
// 自定义类名 Shader 关联用的就是这个名字
public class ShaderGUI01 : ShaderGUI
{
}
3、画布绘制
//重写 OnGUI类
public override void OnGUI(MaterialEditor materialEditor, MaterialProperty[] properties)
{
//这里放UI的代码
}
4、常用API
布局类 (在OnGUI类里面使用)
//创建一个矩形方框作为画布 读取自定义的宽高、标题、样式
GUI.Box(rect, title, style);
//创建一个矩形 可自定义位置 偏移值 长宽
var ToggleRect = new Rect(rect.x + 4f, rect.y + 4f, 20f, 20f);
//垂直布局 这里的参数可以按需选择
EditorGUILayout.BeginVertical(EditorStyles.helpBox);
//垂直布局结束
EditorGUILayout.EndVertical();
//相当于 花括号 { }
//必须成对使用
//可以套娃
//水平布局