[置顶] 神临的 unity shader 学习之alphatest(六)
2017-12-28 17:09
435 查看
说到alphatest就要想到图形渲染流水线了,我这里就不多说了,所谓的alphatest意思就是字面上的一样,测试他的alpha值如果通过我们设置的固定值就显示,不通过则不显示.
所以就很轻而易举的想到一个很广泛的shader效果,溶解,
那么下面先给一张贴图
![](https://img-blog.csdn.net/20171228165628611?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMzg1NzI0NzI=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
我们就用这张贴图制作溶解效果
然后上代码
感觉没有什么可解释的呀
(1) 就是添加alphatest参数,并设置它的值,值的大小与外面的接口相关联
(2)将贴图的r通道的参数作为最后输出的a通道的值传入光照模型中,也就是说最后物体的透明度有纹理贴图的r(红色)通道的颜色控制.在深入一点,就是拿贴图的红色值与设置好的Alphatest值对比,来判断是否显示.
最后的效果大概是这样的
![](https://img-blog.csdn.net/20171228170716251?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMzg1NzI0NzI=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
到这里就结束了,可能有的朋友会看不懂,那是因为缺少基础的原因,要多看看书籍,多看看相关的资料,神临也是看了好几大本中外书籍了.为我自己,也为看我博客的各位,加油!!!
所以就很轻而易举的想到一个很广泛的shader效果,溶解,
那么下面先给一张贴图
我们就用这张贴图制作溶解效果
然后上代码
Shader"Alphatest" { Properties { _MainTex("Base(RGB)",2D)="white"{} _Cutoff("Value",Range(0,1))=0.5 } SubShader { CGPROGRAM #pragma surface surf Lambert alphatest:_Cutoff//(1) 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;//(2) } ENDCG } FallBack"Diffuse" }
感觉没有什么可解释的呀
(1) 就是添加alphatest参数,并设置它的值,值的大小与外面的接口相关联
(2)将贴图的r通道的参数作为最后输出的a通道的值传入光照模型中,也就是说最后物体的透明度有纹理贴图的r(红色)通道的颜色控制.在深入一点,就是拿贴图的红色值与设置好的Alphatest值对比,来判断是否显示.
最后的效果大概是这样的
到这里就结束了,可能有的朋友会看不懂,那是因为缺少基础的原因,要多看看书籍,多看看相关的资料,神临也是看了好几大本中外书籍了.为我自己,也为看我博客的各位,加油!!!
相关文章推荐
- [置顶] 神临的 unity shader 学习之多pass渲染 (十)
- [置顶] 神临的Unity shader 学习之法线贴图(三)
- Unity shader学习之Alpha Test的阴影
- Unity shader学习之Alpha Test
- [置顶] 神临的Unity shader 学习之镜面反射(四)
- [置顶] 神临的 Unity shader 学习之多Pass渲染 (八)
- [置顶] 神临的 unity shader 学习之顶点颜色(七)
- [置顶] 神临的Shader学习之漫反射贴图(二)
- UnityShader入门精要学习笔记(二十一):深度和法线纹理
- 学习UnityShader中常用的函数
- unity之shader学习笔记(二)
- Unity Shader 学习笔记(2)Shader、ShaderLab、Cg/HLSL/GLSL
- Unity shader学习之反射
- UnityShader入门精要学习笔记(十一):透明效果-下部分
- Unity Shader学习笔记:入门简述
- Unity Shader入门精要学习笔记 - 第6章 开始 Unity 中的基础光照
- Unity Shader 学习笔记(15) 立方体纹理、反射、折射、菲涅尔反射
- Unity ShaderLab学习总结
- Unity Shader入门精要学习笔记 - 第6章 开始 Unity 中的基础光照
- [置顶] 神临的uLua学习(五)