說明
本系列文章是對<3D Apple Games by Tutorials>一書的學習記錄和體會此書對應的代碼地址
不是所有燈光類型都有陰影,只有spot(點光源)和directional(方向光源)才有投射陰影能力.

QQ20170409-142240@2x.png
Directional shadows方向光源陰影
方向光源在投射陰影時比較奇怪,因為節(jié)點的scale屬性在很大程度上決定了陰影的范圍.方向光源是平行光,所以陰影大小和光源距離無關,這就是為什么要用scale屬性來控制下投影的可見范圍.
如果你使用了方向光源,但是卻看不到陰影,很可能你需要調整節(jié)點的scale屬性.

QQ20170411-203954@2x.png
下面的圖片就展示出調整方向光源節(jié)點的scale屬性對陰影的影響:

QQ20170411-204017@2x.png
當scale設置為1時,可以清晰看到方塊陰影,當增加為2時,能看到圓形的身體,但是仍然沒有手,鼻子和頭.最終增加到5時,才能看到所有的身體部分,甚至是尖尖的鼻子.

QQ20170411-205426@2x.png
- Behaviour(行為):決定光源是否投射陰影.
- Color(顏色):決定陰影顏色,可以修改顏色和透明度等級.
- Sample radius(樣本半徑):產生若干疊加的陰影貼圖,值小則陰影銳利,值大則陰影邊緣柔軟.
- Near/Far clipping(近/遠裁剪):超出范圍的任何物體將不會產生陰影.當有性能問題時應該設置
- Scale(比例):決定產生陰影貼圖的分辨率,scale為1將產生最高的分辨率,當scale越高產生的分辨率越低.
- Sample count(樣本數):該參數和Sample radius(樣本半徑)參數共同作用.數值越大陰影邊緣越柔軟.
- Bias(斜紋):有時候陰影渲染會出現(xiàn)問題,常稱為shadow acne.可以用該屬性來修復錯誤.

QQ20170411-213711@2x.png

QQ20170411-213724@2x.png
Spot shadows點光源陰影

QQ20170411-213847@2x.png
其中各個屬性的作用同方向光源陰影一樣.

QQ20170411-214006@2x.png