[筆記]莊懂的技術(shù)美術(shù)入門(八)
1.OldSchoolPlus_VS


2.Task01

a.計(jì)算蘭伯特乘顏色

b.計(jì)算Phong高光并采樣Ramp圖,計(jì)算菲涅爾范圍與高光進(jìn)行插值,最后與蘭伯特結(jié)果相加

3.Task02

a.利用世界法線的G分量得到由下到上和由上到下漸變的遮罩,然后分別Lerp顏色得到從上到下的顏色漸變

b.計(jì)算菲涅爾和顏色Lerp,然后和上述結(jié)果Blend,最后用AO圖做遮罩,OccCol和Blend結(jié)果進(jìn)行插值

c.計(jì)算Phong高光乘顏色,和上述結(jié)果分別乘上陰影然后相加

d.最后加上菲涅爾顏色

4.法線貼圖

由于法線方向的分量范圍是[-1,1],而像素的分量范圍為[0,1],因此我們需要做一個(gè)映射,通常使用的映射是:?pixel = (normal+1) / 2,所以我們在Shader里對(duì)法線紋理采樣后,還需對(duì)結(jié)果進(jìn)行反映射,得到原先的法線方向:normal = pixel * 2 - 1
光照計(jì)算需要將法線貼圖從切線空間轉(zhuǎn)到世界空間
連連看里面需要用Code節(jié)點(diǎn)構(gòu)建TBN矩陣

float3 var_NormalMap=UnpackNormal(tex2D(_NormalMap,i.uv0)).rgb;
UnpackNormal為法線貼圖解碼

標(biāo)簽: