spine在unity中实现闪白效果

Posted yaoxiaping666

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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就是不透明

 

以上是关于spine在unity中实现闪白效果的主要内容,如果未能解决你的问题,请参考以下文章

Spine在Unity中的应用

如何实现人物闪白的游戏特效

如何在unity中实现拖尾效果

技术博客在Unity3d中实现烟花效果

Unity中实现网格轮廓效果

Unity中实现灰度图效果