unity3D
之
Transparency
我们讲到在
Shader
的
#pragma
声明中添加
alpha
参数来实现透明效果真的是非常
方便。事实上,
Unity
还提供了另一种参数来实现一个更简单的透明效果,叫做
cutoff
transparency
,是不是很耳熟?这种类型的透明效果使用一个变量来简单地控制哪些像
素不要画在屏幕上。因此,
cutoff transparency
使得我们可以得到要么全透明效果,要
么不透明的效果。而在上一篇中,我们可以控制所有范围的灰度值来影响透明度,也被称
为半透明效果。
准备工作
首先创建一个新的场景,和一个新的球体和平行光。
创建新的
Shader
和
Material
,可以命名为
CutoffShader
。
把
Shader
赋给
Material
,再把
Material
赋给球体。
选择一张贴图。最好是一张灰度图,这样你可以看到
cutoff
的效果。
实现
首先在
Properties
块增加新的浮点值,它将允许我们选择中断值(
cutoff value
):
Properties {
_MainTex (“Base (RGB)”, 2D) = “white” {}
_Cutoff (“Cutoff Value”, Range(0,1)) = 0.5
}
然后,告诉
Shader
我们将把这个
Shader
设置成
cutoff
类型: