您的位置:首页 > 移动开发 > Unity3D

Unity3D影子接收Shader

2017-08-16 17:29 393 查看
在unity AR开发中通常需要有一个地面接收影子。

shader如下:

//////////////////////////////////////////////////////////////
//  用于制作实时阴影效果
//  方法:在物体下方添加一个plane,用于接收阴影,然后将此Shader用于该Plane即可。
/////////////////////////////////////////////////////////////
Shader "Custom/Transparent Shadow Receiver" {

Properties{

}

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)
{

o.Albedo = 1;
o.Alpha = 1;

}

ENDCG

}

Fallback "Transparent/Cutout/VertexLit"

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: