unity自发光透明shader

来源:互联网 发布:js动态添加css样式 编辑:程序博客网 时间:2024/04/20 06:37

这本来是一个glass的shader,但是我发现也可以用到自发光+透明,这两个脚本都是unity文档里面的。呵呵~~~

Shader "Custom/AlphaSelfIllum" {Properties {        _Color ("Main Color", Color) = (1,1,1,0)        _SpecColor ("Spec Color", Color) = (1,1,1,1)        _Emission ("Emmisive Color", Color) = (0,0,0,0)        _Shininess ("Shininess", Range (0.01, 1)) = 0.7        _MainTex ("Base (RGB)", 2D) = "white" { }    }    SubShader {        // We use the material in many passes by defining them in the subshader.        // Anything defined here becomes default values for all contained passes.        Material {            Diffuse [_Color]            Ambient [_Color]            Shininess [_Shininess]            Specular [_SpecColor]            Emission [_Emission]        }        Lighting On        SeparateSpecular On        // Set up alpha blending        Blend SrcAlpha OneMinusSrcAlpha        // Render the back facing parts of the object.        // If the object is convex, these will always be further away        // than the front-faces.          //控制前面透明度              //Pass {        //    Cull Front        //    SetTexture [_MainTex] {        //        Combine Primary * Texture        //    }        //}        // Render the parts of the object facing us.        // If the object is convex, these will be closer than the        // back-faces.        //控制后面透明度          Pass {            Cull Back            SetTexture [_MainTex] {                Combine Primary * Texture            }        }    }} 


 

 

 

Shader "Custom/Fog" {Properties {      _MainTex ("Texture", 2D) = "white" {}      _FogColor ("Fog Color", Color) = (0.3, 0.4, 0.7, 1.0)    }    SubShader {      Tags { "RenderType" = "Opaque" }      CGPROGRAM      #pragma surface surf Lambert finalcolor:mycolor vertex:myvert      struct Input {          float2 uv_MainTex;          half fog;      };      void myvert (inout appdata_full v, out Input data)      {          float4 hpos = mul (UNITY_MATRIX_MVP, v.vertex);          data.fog = min (1, dot (hpos.xy, hpos.xy) * 0.1);      }      fixed4 _FogColor;      void mycolor (Input IN, SurfaceOutput o, inout fixed4 color)      {          fixed3 fogColor = _FogColor.rgb;          #ifdef UNITY_PASS_FORWARDADD          fogColor = 0;          #endif          color.rgb = lerp (color.rgb, fogColor, IN.fog);      }      sampler2D _MainTex;      void surf (Input IN, inout SurfaceOutput o) {           o.Albedo = tex2D (_MainTex, IN.uv_MainTex).rgb;      }      ENDCG    }     Fallback "Diffuse"  }


 

 

 

原创粉丝点击