Насчет цвета
Код
var color = Color.Lerp(deadLineRenderer.color, newDeadLineColor[colorIndex], lerpTime * 2 * Time.deltaTime);
color.a = 1;
deadLineRenderer.color = color;
Либо просто в инспекторе цветам в newDeadLineColor поставить альфу на максимум
Но у тебя проблемы серьезней чем цвет — deltaTime внутри Lerp говорит о том что ты вообще не особо понимаешь как этот Lerp работает, а * 2 и t > 0.9 как костыли на торте как бы рассказывает твою историю борьбы с этим кодом (должен был срабатывать на 1, но получалось очень долго и странно). А все потому что тебе нужен метод MoveTowards вместо Lerp (у Color нет своего MoveTowards, но есть неявный каст в Vector4 и все методы оттуда с ним тоже будут работать). Либо оставить Lerp но переделать как-то так:
Код
public class changeColorGeometryMainMenu: MonoBehaviour {
[SerializeField] [Range(0f, 1f)] float lerpTime;
[SerializeField] Color[] newDeadLineColor;
Image deadLineRenderer;
Color startColor;
Color endColor;
float startTime;
int colorIndex = -1;
void Start() {
deadLineRenderer = GetComponent<Image>();
StartLerp();
}
void StartLerp() {
startColor = deadLineRenderer.color;
startTime = Time.time;
colorIndex = (colorIndex + 1) % newDeadLineColor.Length;
endColor = newDeadLineColor[colorIndex];
}
void Update() {
var t = Mathf.Clamp01((Time.time - startTime) / lerpTime);
deadLineRenderer.color = Color.Lerp(startColor, endColor, t);
if (t == 1) {
StartLerp();
}
}
}