- Alphatest使用方法:
#pragma surface surf Lambert alphatest:_value
注意关键字是:alphatest
- 作用:
将低于这个值的Alpha全部丢掉,就当没有,所以就出现了低于_value的像素点不再处理的情况.(但是高于目标值的点也不会有透明效果)
- 代码:
Shader "Cutstom/11.27/4"{ Properties{ _MainTex("Base(RGB)",2D)="white"{} _Cutoff("Cutoff",Range(0,1))=1 } SubShader{ Tags{"Queue"="Transparent"} LOD 200 CGPROGRAM #pragma surface surf Lambert alphatest:_Cutoff sampler2D _MainTex; struct Input{ float2 uv_MainTex; }; void surf(Input In,inout SurfaceOutput o){ half4 c=tex2D(_MainTex,In.uv_MainTex); o.Albedo=c.rgb; o.Alpha=c.r; } ENDCG } FallBack "Diffuse" }
注意,这个时候用来判断的值_Cutoff不能再声明同名float变量,若声明了会出现错误.