最近有个2D游戏要做,有一个要做的点是,让Sprite Renderer产生阴影。
将以下脚本附到产生Shadow的物体上:
voidOnEnable(){
GetComponent().receiveShadows =true;
GetComponent().castShadows =true;
}
但是这是不够的,还需要Shader帮忙,下面的Shader请放到产生Shadow的物体上:
Shader "Custom/SpriteDiffuse"
{
Properties
{
_MainTex ("Texture", 2D) = "white" {}
_AlphaCutOff ("AlphaCutOff", Range(0,1)) = 0.05
}
SubShader
{
Pass
{
Tags {"LightMode"="ForwardBase"}
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
#include "Lighting.cginc"
#include "AutoLight.cginc"
sampler2D _MainTex;
fixed _AlphaCutOff;
st