要点
由于透明度混合需要关闭深度写入,而阴影相关的处理需要用到深度值进行计算,因此Unity中从性能方面考虑(要计算半透明物体的阴影表现效果是相对复杂的),所有的内置半透明Shader都不会产生阴影效果(比如Transparent/VertexLit);
因此,透明混合Shader想要投射阴影时,不管在FallBack中写入哪种自带的半透明混合Shader都不会有投射阴影的效果,因为深度不会写入;
可以尝试让透明混合Shader强制投射阴影,在FallBack中设置一个非透明Shader,比如VertexLit、Diffuse等,用其中的灯光模式设置为阴影投射的渲染通道来参与阴影映射纹理的计算,把该物体当成一个实体物体处理,但这种效果并不真实;