spine在unity中实现闪白效果

游戏开发过程中需要游戏对象被攻击的时候变白,然后有有闪烁的效果。

这其实是两个效果:

1.变白的效果

要实现这个效果需要修改spine的shader模式。spine导入unity中时默认采用的shader是“Spine/Skeleton”需要将这个模式该为

“Spine/Skeleton Fill”.在这个shader中有一个参数Fill Phase通过代码动态修改这个参数,就可以实现对象的变白,默认是0就是不白,

如果改成1就是全白,中间值为透明白。下面是关键代码

gameObject.GetComponent<Renderer>().material.SetFloat("_FillPhase", 0.5f);

 

2.闪烁效果

其实闪烁效果可以通过透明来实现,每间隔0.05s实现一次透明,在隔0.05s秒恢复,如此由于人的视觉残留就会出现闪烁的效果,

关键代码如下:

skeleton.skeleton.SetColor(color);

这个color的alpha通道给为0就是全透明,1就是不透明

 

posted @ 2017-12-26 10:59  yaoxiaping666  Views(7184)  Comments(0Edit  收藏  举报