前言:经过片段处理的像素,这个时候理论上要去经过混合运算了,但是为了优化混合,程序还可以使用alpha测试进行像素剔除。
AlphaTest的分类
Greater/GEqual/Less/LEqual/Equal/NotEqual/Always/Never
常用:AlphatTest一般用于具有凹型物体,比如树叶
代码
Shader "Custom/Alpha Test" {
Properties {
//定义一个贴图
_MainTex ("Base (RGB)", 2D) = "white" {}
_CutOff("Alpha cutoff", Range(0, 1)) =0.5
}
SubShader
{
Pass
{
alphatest greater[_CutOff]
SetTexture [_MainTex]
{
Combine texture * primary //正面赋予贴图
}
}
}
FallBack "Diffuse"
}
例子跟之前的一样,一个道童,这里不截图了,当_cutoff =1 的时候你会发现道童不渲染了,也就是没有比alpha值还大的像素了
本文介绍了Alpha测试的基本概念及其在游戏开发中的应用。通过Shader设置,可以实现对像素的剔除,达到优化混合运算的目的。文章详细解释了AlphaTest的不同类别,并通过一个具体的Shader实例展示了如何设置AlphaTest阈值来控制渲染效果。
1117

被折叠的 条评论
为什么被折叠?



