Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unity3d 简单未照明接收阴影着色器的问题_Unity3d_Shader_Fragment Shader_Pixel Shader - Fatal编程技术网

Unity3d 简单未照明接收阴影着色器的问题

Unity3d 简单未照明接收阴影着色器的问题,unity3d,shader,fragment-shader,pixel-shader,Unity3d,Shader,Fragment Shader,Pixel Shader,我正在尝试编写一个基本的无光着色器,它也接收阴影 下面的代码几乎和预期的一样工作,只是我得到了一个奇怪的黑暗区域,你可以在上面看到。有人能帮我理解我做错了什么吗 任何反馈都将不胜感激 Shader "Unlit/TextureReceive" { Properties { _MainTex ("Base (RGB)", 2D) = "white" {} } SubShader { Pass {

我正在尝试编写一个基本的无光着色器,它也接收阴影

下面的代码几乎和预期的一样工作,只是我得到了一个奇怪的黑暗区域,你可以在上面看到。有人能帮我理解我做错了什么吗

任何反馈都将不胜感激

Shader "Unlit/TextureReceive"
{
    Properties
    {
        _MainTex ("Base (RGB)", 2D) = "white" {}
    }

    SubShader
    {
        Pass
        {
            Tags { "LightMode" = "ForwardBase" }

            CGPROGRAM

            #pragma vertex vert
            #pragma fragment frag
            #include "UnityCG.cginc"
            #pragma multi_compile_fwdbase
            #include "AutoLight.cginc"

            struct appdata_t
            {
                float4 vertex : POSITION;
                float2 texcoord : TEXCOORD0;
            };

            struct v2f
            {
                float4 pos : SV_POSITION;
                float2 texcoord : TEXCOORD0;
                LIGHTING_COORDS(0,1)
            };

            sampler2D _MainTex;
            float4 _MainTex_ST;

            v2f vert(appdata_t v)
           {
                v2f o;
                o.pos = UnityObjectToClipPos (v.vertex);
                o.texcoord = TRANSFORM_TEX(v.vertex, _MainTex);
                TRANSFER_VERTEX_TO_FRAGMENT(o);

                return o;
            }

            fixed4 frag(v2f i) : COLOR
            {
                fixed4 col = tex2D(_MainTex, i.texcoord);

                 float attenuation = LIGHT_ATTENUATION(i);
                 return col * clamp(attenuation, 0, 1);
            }

            ENDCG
        }
    }

    Fallback "VertexLit"
}