Esempio n. 1
0
 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");
 }
Esempio n. 2
0
        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();
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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;
        }
Esempio n. 5
0
        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();
        }
Esempio n. 6
0
 public static void Inputs(SimpleLitProperties properties, MaterialEditor materialEditor, Material material)
 {
     DoSpecularArea(properties, materialEditor, material);
     BaseShaderGUI.DrawNormalArea(materialEditor, properties.bumpMapProp);
 }
Esempio n. 7
0
 public static void DoStylizedSpecularArea(SimpleLitProperties properties, MaterialEditor materialEditor, Material material)
 {
     materialEditor.RangeProperty(properties.specSmoothness, "Specular Smoothing");
     materialEditor.RangeProperty(properties.specBlend, "Specular Blending");
 }
Esempio n. 8
0
 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");
 }
Esempio n. 9
0
 public static void DoOutlineArea(SimpleLitProperties properties, MaterialEditor materialEditor, Material material)
 {
     materialEditor.RangeProperty(properties.outline, "Outline Width");
     materialEditor.ColorProperty(properties.outlineColor, "Outline Color");
 }