步遥情感网
您的当前位置:首页Unity Shader (二)裁剪(Culling)

Unity Shader (二)裁剪(Culling)

来源:步遥情感网

裁剪(Culling)

分类:Cull Back | Front | Off

默认情况下是裁剪的背面,因为背向相机的其实是没必要去处理着色的,所以这里会进行裁剪掉。比如:我们例子里面的童子的头带, 红色部分为背面的

例图:

代码:

Shader "Custom/Culling" {
    Properties {
        //定义一个贴图
        _MainTex ("Base (RGB)", 2D) = "white" {} 
    }
    SubShader 
    {       
     pass{
             cull front
             Color (1,0,0,1)  //背面渲染红色
         }
      Pass
        {
            SetTexture [_MainTex] 
            {
                Combine texture * primary  //正面赋予贴图
            }
        }
    } 
    FallBack "Diffuse"
}

尽量不要用双面渲染

有时候我们的需求就是要看双面,而不是渲染单面。那么可以使用 Cull Off 或者使用两个pass分别渲染正面和背面。不过这个需求不要到处使用,因为他会增加面数和pass数量。对一个简单的模型的面数如下,从图里面可以看到我们加了2k的面数,而只有头带可能是需要渲染的,这个时候你作为程序可以建议模型师直接将头带做成双面的即可,这样就没这么消耗了

因篇幅问题不能全部显示,请点此查看更多更全内容