You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
101 lines
4.9 KiB
101 lines
4.9 KiB
using UnityEngine; |
|
using UnityEditor; |
|
|
|
public class ME_CustomShaderGUI: ShaderGUI |
|
{ |
|
static float tollerance = 0.001f; |
|
public override void OnGUI(MaterialEditor m, MaterialProperty[] properties) |
|
{ |
|
var _UseMainTex = ShaderGUI.FindProperty("_UseMainTex", properties); |
|
var _MainTex = ShaderGUI.FindProperty("_MainTex", properties); |
|
var _TintColor = ShaderGUI.FindProperty("_TintColor", properties); |
|
|
|
var _NormalTex = ShaderGUI.FindProperty("_NormalTex", properties); |
|
var _MainColor = ShaderGUI.FindProperty("_MainColor", properties); |
|
var _Distortion = ShaderGUI.FindProperty("_Distortion", properties); |
|
|
|
var _UseRefractive = ShaderGUI.FindProperty("_UseRefractive", properties); |
|
var _RefractiveStrength = ShaderGUI.FindProperty("_RefractiveStrength", properties); |
|
|
|
var _UseSoft = ShaderGUI.FindProperty("_UseSoft", properties); |
|
var _InvFade = ShaderGUI.FindProperty("_InvFade", properties); |
|
|
|
var _UseHeight = ShaderGUI.FindProperty("_UseHeight", properties); |
|
var _HeightTex = ShaderGUI.FindProperty("_HeightTex", properties); |
|
var _Height = ShaderGUI.FindProperty("_Height", properties); |
|
var _HeightUVScrollDistort = ShaderGUI.FindProperty("_HeightUVScrollDistort", properties); |
|
|
|
var _UseFresnel = ShaderGUI.FindProperty("_UseFresnel", properties); |
|
var _FresnelColor = ShaderGUI.FindProperty("_FresnelColor", properties); |
|
var _FresnelPow = ShaderGUI.FindProperty("_FresnelPow", properties); |
|
var _FresnelR0 = ShaderGUI.FindProperty("_FresnelR0", properties); |
|
var _FresnelDistort = ShaderGUI.FindProperty("_FresnelDistort", properties); |
|
|
|
var _UseCutout = ShaderGUI.FindProperty("_UseCutout", properties); |
|
var _CutoutTex = ShaderGUI.FindProperty("_CutoutTex", properties); |
|
var _Cutout = ShaderGUI.FindProperty("_Cutout", properties); |
|
var _CutoutColor = ShaderGUI.FindProperty("_CutoutColor", properties); |
|
var _CutoutThreshold = ShaderGUI.FindProperty("_CutoutThreshold", properties); |
|
|
|
var _ZWriteMode = ShaderGUI.FindProperty("_ZWriteMode", properties); |
|
var _CullMode = ShaderGUI.FindProperty("_CullMode", properties); |
|
var _UseAlphaCliping = ShaderGUI.FindProperty("_UseAlphaCliping", properties); |
|
var _AlphaClip = ShaderGUI.FindProperty("_AlphaClip", properties); |
|
var _UseBlending = ShaderGUI.FindProperty("_UseBlending", properties); |
|
|
|
m.ShaderProperty(_UseMainTex, _UseMainTex.displayName); |
|
if (Mathf.Abs(_UseMainTex.floatValue - 1) < tollerance) |
|
{ |
|
m.ShaderProperty(_MainTex, _MainTex.displayName); |
|
m.ShaderProperty(_TintColor, _TintColor.displayName); |
|
} |
|
|
|
m.ShaderProperty(_NormalTex, _NormalTex.displayName); |
|
m.ShaderProperty(_MainColor, _MainColor.displayName); |
|
m.ShaderProperty(_Distortion, _Distortion.displayName); |
|
|
|
m.ShaderProperty(_UseRefractive, _UseRefractive.displayName); |
|
if (Mathf.Abs(_UseRefractive.floatValue - 1) < tollerance) |
|
m.ShaderProperty(_RefractiveStrength, _RefractiveStrength.displayName); |
|
|
|
m.ShaderProperty(_UseSoft, _UseSoft.displayName); |
|
if (Mathf.Abs(_UseSoft.floatValue - 1) < tollerance) |
|
m.ShaderProperty(_InvFade, _InvFade.displayName); |
|
|
|
m.ShaderProperty(_UseHeight, _UseHeight.displayName); |
|
if (Mathf.Abs(_UseHeight.floatValue - 1) < tollerance) |
|
{ |
|
m.ShaderProperty(_HeightTex, _HeightTex.displayName); |
|
m.ShaderProperty(_Height, _Height.displayName); |
|
m.ShaderProperty(_HeightUVScrollDistort, _HeightUVScrollDistort.displayName); |
|
} |
|
|
|
m.ShaderProperty(_UseFresnel, _UseFresnel.displayName); |
|
if (Mathf.Abs(_UseFresnel.floatValue - 1) < tollerance) |
|
{ |
|
m.ShaderProperty(_FresnelColor, _FresnelColor.displayName); |
|
m.ShaderProperty(_FresnelPow, _FresnelPow.displayName); |
|
m.ShaderProperty(_FresnelR0, _FresnelR0.displayName); |
|
m.ShaderProperty(_FresnelDistort, _FresnelDistort.displayName); |
|
} |
|
|
|
m.ShaderProperty(_UseCutout, _UseCutout.displayName); |
|
if (Mathf.Abs(_UseCutout.floatValue - 1) < tollerance) |
|
{ |
|
m.ShaderProperty(_CutoutTex, _CutoutTex.displayName); |
|
m.ShaderProperty(_Cutout, _Cutout.displayName); |
|
m.ShaderProperty(_CutoutColor, _CutoutColor.displayName); |
|
m.ShaderProperty(_CutoutThreshold, _CutoutThreshold.displayName); |
|
} |
|
|
|
m.ShaderProperty(_ZWriteMode, _ZWriteMode.displayName); |
|
m.ShaderProperty(_CullMode, _CullMode.displayName); |
|
m.ShaderProperty(_UseAlphaCliping, _UseAlphaCliping.displayName); |
|
if (Mathf.Abs(_UseAlphaCliping.floatValue - 1) < tollerance) |
|
{ |
|
m.ShaderProperty(_AlphaClip, _AlphaClip.displayName); |
|
} |
|
m.ShaderProperty(_UseBlending, _UseBlending.displayName); |
|
m.RenderQueueField(); |
|
} |
|
}
|
|
|