游戲開發過程中需要游戲對象被攻擊的時候變白,然后有有閃爍的效果。
這其實是兩個效果:
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就是不透明