Al final lo solucione.. después de muchísimos días, y horas y horas invertidas.. me fue mas fácil de lo que creía (al menos en el tema código pero realmente me fue muy difícil jajajaja. Pero lo implemente de una manera fácil, y simple)
El objeto es negro por completo de primeras, hasta ahí bien. Pero cuando le disparas se transforma a blanco con este código (muy simple).
y seguidamente hace el siguiente código tal y como tenia y se transforma a negro (recordemos que es su color base) otra vez.
de esta manera cuando disparas al enemigo se transforma en blanco de golpe y en cosa de medio segundo se vuelve negro (vuelve a su color base) otra vez, que es lo que yo quería para darle un toque de hitmarker, y como todo ocurre en milésimas el ojo no aprecia que el objeto se ha puesto blanco de golpe y negro otra vez progresivamente. Así que me ha quedado de 10, tal y como yo quería.
Gracias por la ayuda! nos vemos pronto!
El objeto es negro por completo de primeras, hasta ahí bien. Pero cuando le disparas se transforma a blanco con este código (muy simple).
gameObject.GetComponent<Renderer>().material.color = Color.white;
y seguidamente hace el siguiente código tal y como tenia y se transforma a negro (recordemos que es su color base) otra vez.
IEnumerator ColorChange()
{
while (true)
{
Color newColor = colors[1];
float transitionRate = 0;
while (transitionRate < 100000)
{
rend.material.SetColor("_Color", Color.Lerp(rend.material.color, newColor, Time.deltaTime * transitionRate));
transitionRate += Time.deltaTime / transitionTime;
yield return null;
}
yield return null;
}
}
de esta manera cuando disparas al enemigo se transforma en blanco de golpe y en cosa de medio segundo se vuelve negro (vuelve a su color base) otra vez, que es lo que yo quería para darle un toque de hitmarker, y como todo ocurre en milésimas el ojo no aprecia que el objeto se ha puesto blanco de golpe y negro otra vez progresivamente. Así que me ha quedado de 10, tal y como yo quería.
Gracias por la ayuda! nos vemos pronto!