たとえば、点滅するインジケータなど、2つのカラー値を補間して表示したい場合に便利なのが、Color.Lerp()。
public static Color Lerp(Color a, Color b, float t);
という形式で、t=0の時 Color a、t=1の時 Color b、t=0~1でaとbの間を線形補完する。
点滅(Blinking)するインジケータを実現するには、UpdateループとMathf.PingPong()を使って次のように実装できる。
void Update () { if (isBlinking) { if (myMat.HasProperty("_EmissionColor")) { Color color = Color.Lerp(colorOff, colorOn, Mathf.PingPong(Time.time * speed, 1.0F); myMat.SetColor("_EmissionColor", color); } } }