Unity 之 Shader 面的剔除 Cull
阿新 • • 發佈:2019-02-13
面的剔除 Cull
在渲染的時候,預設情況下是隻有朝向攝像機的面才會被渲染,可以告訴Unity,我想渲染哪一個朝向的面,使用Cull命令在計算體積陰影的時候會用到對Cull的操作來計算和物體相交的投影
Cull 有三種
Cull Off 不剔除
Cull Back 剔除背面(背向攝像機的面)
Cull Front 剔除前面 (朝向攝像機的面)
Shader "Custom/PassFive" {
Properties {
//定義一個貼圖
_MainTex ("Base (RGB)", 2D) = "white" {}
}
SubShader
{
Tags {"RenderType" = "Opaque" "IGNOREPROJECTOR" = "TRUE" "QUEUE" = "Transparent"}
LOD 200
Pass
{
//AlphaTest Greater 0.6
//AlphaTest Less 0.5
//AlphaTest Greater 0.4
//AlphaTest Less 0.9
Blend SrcAlpha One
//Blend SrcColor OneMinusSrcColor
//BlendOp RevSub
//ColorMask RG
//ColorMask RB
//ZTest Greater
//Offset -10000, 0
Cull Back
// 通過繫結固定通道來使用定點色
BindChannels
{
Bind "Vertex", vertex // 繫結定點
Bind "Normal" , normal
Bind "Color", color
Bind "Texcoord", texcoord0
Bind "Texcoord", texcoord1
}
//給材質設定 貼圖
SetTexture [_MainTex]
{
Combine texture * primary double
}
}
}
FallBack "Diffuse"
}
使用剔除背面 Cull Back 視覺上不會有影響,因為剔除的面是本來就看不見的
下面使用 Cull Front