Небольшой скрипт на C# для Unity, позволяющий легко реализовать переход между двумя цветами Sprite Renderer’а за заданное время. Не подходит для 3D объектов.
using System;
using UnityEngine;
public class FadeExt {
public static IEnumerator Fade(GameObject obj, Color startcolor,
Color endcolor, float time, SpriteRenderer renderer = null, float tick = 0.01f) {
renderer = renderer ?? obj.GetComponent();
var lespspeed = tick / time;
renderer.color = startcolor;
while (renderer.color != endcolor) {
renderer.color = Color.Lerp(renderer.color, endcolor, lespspeed);
yield return new WaitForSeconds(tick);
}
}
}
258