Hazkin

Untitled

Jul 30th, 2019
740
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'
  2.  
  3. Shader "Custom/GrayScale"
  4. {
  5.      Properties
  6.      {
  7.          [PerRendererData] _MainTex ("Sprite Texture", 2D) = "white" {}
  8.          _Color ("Tint", Color) = (1,1,1,1)
  9.          [MaterialToggle] PixelSnap ("Pixel snap", Float) = 0
  10.          _EffectAmount ("Effect Amount", Range (0, 1)) = 1.0
  11.      }
  12.  
  13.      SubShader
  14.      {
  15.          Tags
  16.          {
  17.              "Queue"="Transparent"
  18.              "IgnoreProjector"="True"
  19.              "RenderType"="Transparent"
  20.              "PreviewType"="Plane"
  21.              "CanUseSpriteAtlas"="True"
  22.          }
  23.  
  24.          Cull Off
  25.          Lighting Off
  26.          ZWrite Off
  27.          Fog { Mode Off }
  28.          Blend SrcAlpha OneMinusSrcAlpha
  29.  
  30.          Pass
  31.          {
  32.          CGPROGRAM
  33.              #pragma vertex vert
  34.              #pragma fragment frag
  35.              #pragma multi_compile DUMMY PIXELSNAP_ON
  36.              #include "UnityCG.cginc"
  37.            
  38.              struct appdata_t
  39.              {
  40.                  float4 vertex   : POSITION;
  41.                  float4 color    : COLOR;
  42.                  float2 texcoord : TEXCOORD0;
  43.              };
  44.  
  45.              struct v2f
  46.              {
  47.                  float4 vertex   : SV_POSITION;
  48.                  fixed4 color    : COLOR;
  49.                  half2 texcoord  : TEXCOORD0;
  50.              };
  51.            
  52.              fixed4 _Color;
  53.  
  54.              v2f vert(appdata_t IN)
  55.              {
  56.                  v2f OUT;
  57.                  OUT.vertex = UnityObjectToClipPos(IN.vertex);
  58.                  OUT.texcoord = IN.texcoord;
  59.                  OUT.color = IN.color * _Color;
  60.                  #ifdef PIXELSNAP_ON
  61.                  OUT.vertex = UnityPixelSnap (OUT.vertex);
  62.                  #endif
  63.  
  64.                  return OUT;
  65.              }
  66.  
  67.              sampler2D _MainTex;
  68.              uniform float _EffectAmount;
  69.  
  70.              fixed4 frag(v2f IN) : COLOR
  71.              {
  72.                  half4 texcol = tex2D (_MainTex, IN.texcoord);              
  73.                  texcol.rgb = lerp(texcol.rgb, dot(texcol.rgb, float3(0.3, 0.59, 0.11)), _EffectAmount);
  74.                  texcol = texcol * IN.color;
  75.                  return texcol;
  76.              }
  77.          ENDCG
  78.          }
  79.      }
  80.      Fallback "Sprites/Default"
  81. }
RAW Paste Data