2016-11-28 14 views
0

私はこのシェーダーを2つの面に持っています。それはそれらを透明にし、受け取った影だけを示します。しかし、iOS上でコンパイルして実行すると、影が消えてしまい、その理由が分かりません。何か案は?iOSでUnity CG「シャドーキャッチャー」シェーダーが表示されない

Shader "FX/Matte Shadow" { 

Properties { 

    _Color ("Main Color", Color) = (1,1,1,1) 

    _MainTex ("Base (RGB) Trans (A)", 2D) = "white" {} 

    _Cutoff ("Alpha cutoff", Range(0,1)) = 0.5 

} 


SubShader { 

    Tags {"Queue"="AlphaTest" "IgnoreProjector"="True" "RenderType"="TransparentCutout"} 

    LOD 200 

    Blend Zero SrcColor 


CGPROGRAM 

    #pragma surface surf ShadowOnly alphatest:_Cutoff 


fixed4 _Color; 

struct Input { 

    float2 uv_MainTex; 

}; 


inline fixed4 LightingShadowOnly (SurfaceOutput s, fixed3 lightDir, fixed atten) 

{ 

    fixed4 c; 


    c.rgb = s.Albedo*atten; 

    c.a = s.Alpha; 

    return c; 

} 


void surf (Input IN, inout SurfaceOutput o) { 

    fixed4 c = _Color; 

    o.Albedo = c.rgb; 

    o.Alpha = 1; 

} 

ENDCG 

} 

Fallback "Transparent/Cutout/VertexLit" 

} 
+0

IOSでは、アルファテストのシェーダを使用しないでください。彼らは多くの埋め込み率の問題を引き起こします。 –

答えて

0

このシェーダは完全に正常に動作します。私の問題は、iOSデバイス上でAR-Appをテストするときに壁まで一切行き届いていないはるか遠方のクリッピング面でした。おっとっと。

関連する問題