AlphaTest

Posted 许清池

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AlphaTest相关的知识,希望对你有一定的参考价值。

//AlphaTest:

Shader "Siyi/AlphaTest"
{
    Properties
    {
        _MainTex("MainTex",2D) = "white"{}
        _BumpMap("BumpMap",2D) = "white"{}
        _SpecMap("SpecMap",2D) = "white"{}
        _SpecPower("SpecPower",Range(0,1)) = .2
        _CutOff("AlphaTest",Range(0,1)) = .5
    }

    SubShader
    {
        Tags{"RenderType"="Opaque"}
        LOD 200

        CGPROGRAM
        #pragma surface surf BlinnPhong alphatest:_CutOff

        sampler2D _MainTex;
        sampler2D _BumpMap;
        sampler2D _SpecMap;
        float _SpecPower;

        struct Input
        {
            float2 uv_MainTex;
            float2 uv_BumpMap;
            float2 uv_SpecMap;
        };

        void surf(Input IN,inout SurfaceOutput o)
        {
            //MainTex
            float4 tex = tex2D(_MainTex,IN.uv_MainTex);
            o.Albedo = tex.rgb;

            //Alpha Test
            o.Alpha = tex.a;

            //BumpMap
            float4 bumpTex = tex2D(_BumpMap,IN.uv_BumpMap);
            o.Normal = UnpackNormal(bumpTex);

            //Specular Map
            float4 specTex = tex2D(_SpecMap,IN.uv_SpecMap);
            o.Gloss = specTex.rgb;
            o.Specular = _SpecPower;
        }

        ENDCG
    }
    FallBack "Diffuse"
}

//效果:

以上是关于AlphaTest的主要内容,如果未能解决你的问题,请参考以下文章

问题总结-AlphaTest在forward管线生成DepthNormalsTexture的问题

[Unity Shader] 渲染管线流程

unity 另类地景制作

微信小程序代码片段

VSCode自定义代码片段——CSS选择器

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js