Unity Shader Learning

  1. Toon
    1.  表面没有均匀的阴影。 为了达到这个效果,我们需要一个斜坡图。 其目的是将朗伯光强度NdotL重新映射到另一个值。 使用没有渐变的渐变映射,我们可以强制照明逐步渲染。下图显示了如何使用斜坡图来校正光强度:根据与光照方向的夹角去采样RampTex,来让光照呈现阶梯状的变化
  2. Sil'hou'ette 边缘颜色强烈,中间透明,有未来感。
    1.  

    2.   主要思想是viewDir与WorldNormal之间的夹角,夹角越大,颜色越浓。使用alpha:fade
    3.  1  Tags 
       2         {    
       3             "Queue"="Transparent"
       4             "IgnoreProjector"="True"
       5             "RenderType"="Transparent" 
       6         }
       7         LOD 200
       8 
       9         Cull Off
      10         CGPROGRAM
      11   
      12         #pragma surface surf Lambert alpha:fade nolighting
      13 void surf(Input IN, inout SurfaceOutput o) {
      14             float4 c = tex2D(_MainTex, IN.uv_MainTex) * _Color;
      15             o.Albedo = c.rgb;
      16 
      17             float border = 1 - (abs(dot(IN.viewDir, IN.worldNormal)));
      18             float alpha = (border * (1 - _DotProduct));
      19             o.Alpha = c.a * alpha;
      20         }
      
      
posted @ 2019-03-16 15:05  chenc_c  阅读(371)  评论(0编辑  收藏  举报