qeq 发表于 2018-8-4 18:42

我是社会的接班人

村长. 发表于 2018-7-30 11:57

Shader "Custom_Shaders/DNSRender"
{
    Properties
    {
      _TintColor ("Color Tint",color) = (1.0,1.0,1.0,1.0)
      //Diffuse Sliders
      _TintColorMultiply("Color Tint Multiply", Range(0.0, 1.0)) = 0.0
      _Brightness ("Diffuse Brightness", Range(0.0, 2.0)) = 1.0
      _DiffuseMap ("Diffuse (RGB)", 2D) = "white" {}
      _NormalMap ("Normal Map(RGB)", 2D) = "bump" {}
      _SpecColor ("Specular Color", Color) = (0.5, 0.5, 0.5, 1)
      _SpecularMultiply ("Specular Brightness",float) = 1.0
      _SpecAdd ("Specular Boost", float) = 0
      _SpecMap ("Specular Map (RGB)", 2D) = "grey" {}
      _Gloss ("Specular Glossiness", float) = 0.5
      _FresnelPower ("Fresnel Power",float) = 1.0
      _FresnelMultiply ("Fresnel Multiply", float) = 0.2
      _FresnelBias ("Fresnel Bias", float) = -0.1
      _RimPower ("RimLight Power",float) = 1.0
      _RimMultiply ("RimLight Multiply", float) = 0.2
      _RimBias ("RimLight Bias", float) = 0
      _EmissionColor("Emission Color", color) = (1.0,1.0,1.0,1.0)
    }
    SubShader
    {
      Tags { "RenderType"="Opaque" }
      LOD 300
      CGPROGRAM
      #pragma surface surf BlinnPhong
      #pragma target 3.0
      #pragma shader_feature NORMALMAP_ON NORMALMAP_OFF
      #pragma shader_feature SPECULAR_ON SPECULAR_OFF
      #pragma shader_feature FRESNEL_ON FRESNEL_OFF
      #pragma shader_feature RIMLIGHT_ON RIMLIGHT_OFF
      float3 _TintColor;
      float _TintColorMultiply;
      float _Brightness;

      sampler2D _DiffuseMap;
      sampler2D _NormalMap;   
      sampler2D _SpecMap;

      float _SpecularMultiply;
      float _SpecAdd;
      float _Gloss;
      float _FresnelPower;
      float _FresnelMultiply;
      float _FresnelBias;
      float _RimPower;
      float _RimMultiply;
      float _RimBias;
      float3 _EmissionColor;

      struct Input
      {
            float2 uv_DiffuseMap;
            #if SPECULAR_ON
            float2 uv_SpecMap;
            #endif
            #if NORMALMAP_ON
            float2 uv_NormalMap;
            #endif
            #if FRESNEL_ON || RIMLIGHT_ON
            float3 viewDir;
            #endif
      };

      void surf (Input IN, inout SurfaceOutput o)
      {
            float3 TexData = tex2D(_DiffuseMap, IN.uv_DiffuseMap);
            float3 _BlendColor =_TintColor.rgb * _TintColorMultiply;
                       
            o.Albedo.rgb = _Brightness * lerp(TexData, _TintColor.rgb, _TintColorMultiply) ;
                       
            #if SPECULAR_ON
            o.Specular = _Gloss;
            o.Gloss = max(_SpecAdd + _SpecularMultiply, 1.0) * tex2D (_SpecMap, IN.uv_SpecMap);
            //o.Emission = _Gloss * tex2D (_SpecMap, IN.uv_SpecMap);
            #endif
            #if NORMALMAP_ON
            o.Normal = UnpackNormal(tex2D(_NormalMap, IN.uv_NormalMap));
            #endif
         
            #if FRESNEL_ON && SPECULAR_ON || RIMLIGHT_ON
            float facing = saturate(1.0 - max(dot(normalize(IN.viewDir), normalize(o.Normal)), 0.0));

                #if FRESNEL_ON && SPECULAR_ON
                float fresnel = max(_FresnelBias + (1.0-_FresnelBias) * pow(facing, _FresnelPower), 0);
                fresnel = fresnel * o.Specular * _FresnelMultiply;
                o.Gloss *= 1+fresnel;
                #endif      
                #if RIMLIGHT_ON
                float rim = max(_RimBias + (1.0-_RimBias) * pow(facing, _RimPower), 0);
                rim = rim * o.Specular * _RimMultiply;
                o.Albedo *= 1+rim;
                #endif
            #endif
         
      }
      ENDCG
    }

    CustomEditor "EditorInspector"
}

308267135 发表于 2018-7-29 23:52

谢谢

zkhjpaul 发表于 2018-7-29 18:03

谢谢分享

ryanmz 发表于 2018-7-26 10:05

谢谢分享

少游_ 发表于 2018-7-26 01:41

谢谢分享

Invisible。 发表于 2018-7-23 11:23

楼主是好人

Illustrious 发表于 2018-7-20 20:10

谢谢分享

神圣君 发表于 2018-7-18 10:18

看看

醉梦红尘 发表于 2018-7-18 10:03

感谢分享
页: 14 15 16 17 18 19 20 21 22 23 [24] 25 26 27 28 29 30 31 32 33
查看完整版本: 网格地面源文件 可作游戏DEMO场景或地面