public static void DoRampArea(SimpleLitProperties properties, MaterialEditor materialEditor, Material material) { materialEditor.RangeProperty(properties.rampMinStep, "Ramp Min Step"); materialEditor.RangeProperty(properties.rampMinThreshold, "Ramp Min Threshold"); materialEditor.RangeProperty(properties.rampMaxStep, "Ramp Max Step"); materialEditor.RangeProperty(properties.rampMaxThreshold, "Ramp Max Threshold"); }
public static void DoSpecularArea(SimpleLitProperties properties, MaterialEditor materialEditor, Material material) { SpecularSource specSource = (SpecularSource)properties.specHighlights.floatValue; EditorGUI.BeginDisabledGroup(specSource == SpecularSource.NoSpecular); BaseShaderGUI.TextureColorProps(materialEditor, Styles.specularMapText, properties.specGlossMap, properties.specColor, true); DoSmoothness(properties, material); EditorGUI.EndDisabledGroup(); }
public static void Additional(SimpleLitProperties properties, MaterialEditor materialEditor, Material material) { DoOutlineArea(properties, materialEditor, material); EditorGUILayout.Space(); DoRimArea(properties, materialEditor, material); EditorGUILayout.Space(); DoRampArea(properties, materialEditor, material); EditorGUILayout.Space(); DoStylizedSpecularArea(properties, materialEditor, material); }
public static void Advanced(SimpleLitProperties properties) { SpecularSource specularSource = (SpecularSource)properties.specHighlights.floatValue; EditorGUI.BeginChangeCheck(); EditorGUI.showMixedValue = properties.specHighlights.hasMixedValue; bool enabled = EditorGUILayout.Toggle(Styles.highlightsText, specularSource == SpecularSource.SpecularTextureAndColor); if (EditorGUI.EndChangeCheck()) { properties.specHighlights.floatValue = enabled ? (float)SpecularSource.SpecularTextureAndColor : (float)SpecularSource.NoSpecular; } EditorGUI.showMixedValue = false; }
public static void DoSmoothness(SimpleLitProperties properties, Material material) { var opaque = ((BaseShaderGUI.SurfaceType)material.GetFloat("_Surface") == BaseShaderGUI.SurfaceType.Opaque); EditorGUI.indentLevel += 2; EditorGUI.BeginChangeCheck(); EditorGUI.showMixedValue = properties.smoothness.hasMixedValue; var smoothnessSource = (int)properties.smoothnessMapChannel.floatValue; var smoothness = properties.smoothness.floatValue; smoothness = EditorGUILayout.Slider(Styles.smoothnessText, smoothness, 0f, 1f); if (EditorGUI.EndChangeCheck()) { properties.smoothness.floatValue = smoothness; } EditorGUI.showMixedValue = false; EditorGUI.indentLevel++; EditorGUI.BeginDisabledGroup(!opaque); EditorGUI.BeginChangeCheck(); EditorGUI.showMixedValue = properties.smoothnessMapChannel.hasMixedValue; if (opaque) { smoothnessSource = EditorGUILayout.Popup(Styles.smoothnessMapChannelText, smoothnessSource, Enum.GetNames(typeof(SmoothnessMapChannel))); } else { EditorGUILayout.Popup(Styles.smoothnessMapChannelText, 0, Enum.GetNames(typeof(SmoothnessMapChannel))); } if (EditorGUI.EndChangeCheck()) { properties.smoothnessMapChannel.floatValue = smoothnessSource; } EditorGUI.showMixedValue = false; EditorGUI.indentLevel -= 3; EditorGUI.EndDisabledGroup(); }
public static void Inputs(SimpleLitProperties properties, MaterialEditor materialEditor, Material material) { DoSpecularArea(properties, materialEditor, material); BaseShaderGUI.DrawNormalArea(materialEditor, properties.bumpMapProp); }
public static void DoStylizedSpecularArea(SimpleLitProperties properties, MaterialEditor materialEditor, Material material) { materialEditor.RangeProperty(properties.specSmoothness, "Specular Smoothing"); materialEditor.RangeProperty(properties.specBlend, "Specular Blending"); }
public static void DoRimArea(SimpleLitProperties properties, MaterialEditor materialEditor, Material material) { materialEditor.RangeProperty(properties.rimMin, "Rim Min"); materialEditor.RangeProperty(properties.rimMax, "Rim Max"); materialEditor.RangeProperty(properties.rimPower, "Rim Power"); }
public static void DoOutlineArea(SimpleLitProperties properties, MaterialEditor materialEditor, Material material) { materialEditor.RangeProperty(properties.outline, "Outline Width"); materialEditor.ColorProperty(properties.outlineColor, "Outline Color"); }