Unity surface shader處理陰影不隨discard變化
由于主surface中是默認的不透明,只不過用了discard。而陰影的pass只是用了#pragma的fullforwardshadows,那個代碼里肯定沒有我們自己discard的邏輯,所以就會導(dǎo)致實體discard變化了,但陰影還是沒有變化。
于是刪除fullforwardshadows,自己加陰影Pass。
原來在surface shader中的SubShader中,在包含主surface函數(shù)的CGPROGRAM塊后面可以直接加Pass{}塊。這里面加shadow邏輯就行了。