G2A Many GEOs
SHARE
TWEET

Untitled

a guest Nov 24th, 2013 92 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Shader "Car/CarPain2" {
  2.         Properties {
  3.                 _Color("Diffuse Color", Color) = (1, 1, 1,1)
  4.                 _SpecColor("Specular Color", Color) = (1,1,1,1)        
  5.                 _AmbientColor("Metalic Color", Color) = (1,1,1, 1)
  6.                 _AmbientColor2("Candy Color", Color) = (1,1,1, 1)
  7.                 _ReflectionColor("Reflection Color", Color) = (1,1,1, 1)
  8.                 _VinylColor("Vinyl Color", Color) = (1,1,1, 1) // Тут добавил
  9.                 _Shininess("Glossiness", Range(0.1,2) ) = 0.5          
  10.                 _MainTex("Diffuse", 2D) = "white" {}
  11.                 _FlakeTex("Flakes", 2D) = "white" {}
  12.                 _VinylTex("Vinyl", 2D) = "white" {} //Тут добавил
  13.                 _FlakeDens("Flakes Tile", Range(1,40) ) = 2
  14.                 _Cube("Reflection Cubemap", Cube) = "" { TexGen CubeReflect }          
  15.                 _FresnelScale ("Fresnel Intensity", Range(0,2) ) = 0.4
  16.                 _FresnelPower ("Fresnel Power", Range(0.1,3) ) = 0             
  17.                 _MetalicScale ("Metalic Intensity", Range(0.0,4.0)) = 0
  18.                 _MetalicPower ("Metalic Power", Range(0.0,20.0)) = 0           
  19.                 _CandyScale ("Candy Intensity", Range(0.0,4.0)) = 0
  20.                 _CandyPower ("Candy Power", Range(0.0,20.0)) = 0
  21.         }
  22.         SubShader {            
  23.                 Tags { "RenderType"="Opaque" }
  24.                 LOD 400                
  25.                 Cull Back
  26.                 ZWrite On
  27.                 ZTest Lequal
  28.                 ColorMask RGBA
  29.                 CGPROGRAM              
  30.                 #pragma surface surf BlinnPhong
  31.                 #pragma target 3.0             
  32.                 struct Input
  33.                 {
  34.                         float2 uv_MainTex;     
  35.                         float2 uv_FlakeTex;
  36.                         float3 worldRefl;
  37.                         float3 viewDir;
  38.                         float3 lightDir;
  39.                         float3 normal;
  40.                         INTERNAL_DATA
  41.                 };             
  42.                 sampler2D _MainTex;
  43.                 sampler2D _FlakeTex;
  44.                 sampler2D _VinylTex; // Тут добавил
  45.                 samplerCUBE _Cube;             
  46.                 float4 _Color;
  47.                 float4 _AmbientColor;
  48.                 float4 _AmbientColor2;
  49.                 float4 _ReflectionColor;
  50.                 float4 _VinylColor; // Тут добавил
  51.                 float _Shininess;
  52.                 float _FlakeDens;
  53.                 float _FresnelScale;
  54.                 float _FresnelPower;
  55.                 float _MetalicScale;           
  56.                 float _MetalicPower;
  57.                 float _CandyScale;             
  58.                 float _CandyPower;
  59.                 void surf (Input IN, inout SurfaceOutput o){           
  60.                                
  61.                         o.Normal = normalize(float3(0.0,0.0,1.0));
  62.                         // 0. Vectors
  63.                         float3 worldRefl = WorldReflectionVector (IN, o.Normal);
  64.                         float3 normEyeVec = normalize (IN.viewDir);
  65.                         float3 worldLight = normalize (IN.lightDir);
  66.                         float dotEyeVecNormal = abs(dot(normEyeVec, o.Normal));                        
  67.                        
  68.                         // 1. Difuse (Texture + Color)
  69.                         float4 Tex1 = tex2D( _MainTex,IN.uv_MainTex );                 
  70.                         float specularmask = Tex1.a ;
  71.                         float4 Diffuse = ((_Color* (specularmask) )* Tex1) + (Tex1*(1-specularmask));                          
  72.  
  73.                         // 2. GlossMap / Sparks                
  74.                         float4 Tex2 = tex2D( _FlakeTex, IN.uv_FlakeTex*_FlakeDens );   
  75.                         float4 Specular = (_Shininess * Tex2) + Tex2;  
  76.                        
  77.                         // 3. Emission (Reflections with Fresnel)              
  78.                         float4 TexCUBE = texCUBE( _Cube,worldRefl) * _ReflectionColor;
  79.                         float4 fresnel = (1.0 - dot( normEyeVec,o.Normal ));
  80.                         float4 emmission = _FresnelScale * TexCUBE * pow(fresnel,_FresnelPower);                       
  81.                        
  82.                         // 4. Special (Metalic & Candy)
  83.                         float metalic = (specularmask*_MetalicScale) * pow(dotEyeVecNormal,_MetalicPower);
  84.                         float candy = _CandyScale * pow(dotEyeVecNormal,_CandyPower);
  85.                        
  86.                         // 5. Vinyl (Texture + Color) - Это все добавил
  87.                         float4 Tex3 = tex2D( _VinylTex, IN.uv_MainTex );
  88.                         float4 VinylDiffuse = ((_VinylColor * (specularmask) )* Tex3) + (Tex3 * (1 - specularmask));
  89.                        
  90.                         o.Albedo = VinylDiffuse * Diffuse * ((metalic+(1-specularmask) + ((1-Tex2)*(specularmask))) + (_AmbientColor.rgb*specularmask)) + (candy * _AmbientColor2.rgb * specularmask*(1-Tex2));
  91.                        
  92.                         o.Specular = Specular;                                         
  93.                         o.Gloss = _SpecColor * specularmask;                           
  94.                         o.Emission = emmission * emmission * specularmask;
  95.                 }              
  96.                 ENDCG
  97.         }
  98.         FallBack "Reflective/Diffuse"
  99. }
RAW Paste Data
Ledger Nano X - The secure hardware wallet
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top