using UnityEngine; using UnityEngine.UI; [RequireComponent (typeof(Graphic))] public class ImageBlinker : MonoBehaviour { [SerializeField] private float speed = 7; [SerializeField] private float minAlpha = 0.1f; [SerializeField] private float maxAlpha = 0.3f; private Graphic graphic; private Color originalColor; void Start() { graphic = GetComponent(); originalColor = graphic.color; } void Update() { float sinValue = Mathf.Sin(Time.time * speed); float alpha = Remap(sinValue, -1f, 1f, minAlpha, maxAlpha); Color color = originalColor; color.a = alpha; graphic.color = color; } float Remap(float value, float fromMin, float fromMax, float toMin, float toMax) { return toMin + (value - fromMin) * (toMax - toMin) / (fromMax - fromMin); } }