您需要 登录 才可以下载或查看,没有账号?注册
x
Hello . 大家好
今天给大家带来不写GUIEditor就能实现的预定义UI 我是麦田
1写在前面
出于性能原因,EditorGUILayout 函数不能与 MaterialPropertyDrawers 一起使用。
2Enum类(枚举)
3IntRange
- 显示一个适用于 Range 着色器属性的整数滑动条。
- [IntRange]_StencilWriteMask ("Stencil Write Mask", Range(0,255)) = 255
- [IntRange]_StencilReadMask ("Stencil Read Mask", Range(0,255)) = 255
- [IntRange]_Stencil ("Stencil ID", Range(0,255)) = 0
4Header
- 显示一个头部名称。
- [Header()]
- [Header(A group of things)] _Prop1 ("Prop1", Float) = 0
- 不支持汉字,数字以及大部分符号
- 在着色器属性之前创建一个标题文本。
5Space
- 在着色器属性之前创建垂直空间。
- [Space] _Prop1 ("Prop1", Float) = 0
- [Space(50)] _Prop2 ("Prop2", Float) = 0
6KeywordEnum
- 关键字枚举,并启用相应的着色器关键字。它可在着色器中与“#pragma multi_compile”配合使用,以启用或禁用部分着色器代码。每个名称都将 采用“属性名”+ 下划线 +“枚举名”这种形式的大写着色器关键字。最多可提供 9 个名称。
- [KeywordEnum(None, Add, Multiply)] _Overlay ("Overlay mode", Float) = 0
- #pragma multi_compile _OVERLAY_NONE _OVERLAY_ADD _OVERLAY_MULTIPLY
7Toggle类(开关)
- 以开关形式显示浮点值。属性值为 0 或 1,具体取决于开关状态。当开关处于打开状态时,将设置一个带有大写属性名称 +“_ON” 的着色器关键字,或者一个显式指定的着色器关键字。
- [Toggle] _Invert ("Invert?", Float) = 0
- [Toggle(ENABLE_FANCY)] _Fancy ("Fancy?", Float) = 0
8PowerSlider
- [PowerSlider(3.0)] _Shininess ("Shininess", Range (0.01, 1)) = 0.08
- 显示一个具有对应于 Range 着色器属性的非线性响应的滑动条。意思就是,让Range滑杆更加方便调整细微的值。以[PowerSlider(1.0)]为分界,当值为1.0时,效果与range一致。当值<1.0时,值越大可调整的范围越大。当值>1.0时,值越小可调整的范围越大。可以更精细地在这些区间进行微调。
- 当值为0.1时
- 当值为10时
- PowerSlider值类似曲线的控制值,值越大,小值的范围越好调整,值越小,大值的可调整范围越大。
- End -
喜欢Thepoly的可以通过三种方式与我们建立联系。分别是公众号、微信群以及QQ群。公众号是我们最为官方的窗口,更多内容都必须关注公众号后才能获取。另外现已开通网站: www.thepoly.cn更多精彩请关注我们。 |