Pavel Nakonechnyy

Unity | 2D Color Fade

Опубликовано by Pavel Nakonechnyy on (изменено: ) в GameDev.

Небольшой скрипт на 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