码迷,mamicode.com
首页 > 编程语言 > 详细

技能冷却效果-[Unity]

时间:2014-10-30 17:13:56      阅读:270      评论:0      收藏:0      [点我收藏+]

标签:技能冷却   遮罩   shader   unity   alpha test   

这里我们主要讨论类似LOL中技能冷却的实现。如图:

bubuko.com,布布扣

1、使用NGUI中的Filled Sprite来实现。这里只需要简单的将遮罩层的Sprite的type设置成Filled,FillDir为Radial360,然后控制Fill Amount即可。如下图

bubuko.com,布布扣


2、使用Shader来实现,原来也很简单,设置一个Alpha值渐增的遮罩贴图,设置一个阙值,Alpha大于这个阙值的部分不透明,小于阙值的透明,这样我们通过改变这个阙值的大小就可以达到想要的效果了。在shader中要实现根据alpha值的大小来决定是否显示,我们可以使用alpha test,也可以直接根据alpha值来设置alpha为0或者为1.如:

half4 frag(v2f i) : COLOR
{
	fixed4 c = tex2D(_MainTex, i.uv);
	fixed a = tex2D(_MaskTex, i.uv).a;
	c.a *= a >= _Threshold ? 0f : 1f;
	return c;
}
这里使用的遮罩贴图如:

bubuko.com,布布扣

技能冷却效果-[Unity]

标签:技能冷却   遮罩   shader   unity   alpha test   

原文地址:http://blog.csdn.net/cubesky/article/details/40620199

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!