天天看點

能量罩的制作拆解(URP)

能量罩的制作拆解(URP)

交接處檢測高亮

使用螢幕坐标采樣深度圖,比較球體view空間下的Z值和場景的深度資訊depth,如果depth > positionVS.z(右手坐标系的z都是負數,是以減法變加法),表示處于遮光罩内,而且越靠近交界處,這個內插補點越小,用1 - 內插補點,再乘以一個邊緣系數就可以得到邊緣資訊。

half4 hightlight = depth + i.positionVS.z;
hightlight *= _HighLightFade;
hightlight = 1 - hightlight;
hightlight *= _HighLightColor;
           

邊緣外發光

法線和視角方向點乘,然後加上菲涅爾系數

half3 N = i.normalWS;
half3 V = i.viewWS;
half NdotV = 1 - saturate(dot(N, V));
half4 fresnel = pow(abs(NdotV), _FresnelPower);
fresnel *= _FresnelColor;
           

蜂窩護盾

普通的圖檔采樣

流光、扭曲

螢幕U

繼續閱讀