Hoje você confere mais uma daquelas dicas rápidas mas que salva a vida de qualquer dev, vamos ver aqui como mudar a cor de um material através de um simples script na Unity 3D.
Para o nosso exemplo, vamos pegar o material do GameObject atual e através de uma lista de cores, sortear uma nova cor e aplicar ao material.
Confira a nossa videoaula abaixo ensinando a realizar alterar a cor do material via script.
Código fonte
Todo o código utilizado durante a aula está disponível abaixo.
using UnityEngine;
public class TrocaDeCor : MonoBehaviour
{
//Declaramos o array de cores que será definido pelo usuário
public Color[] cores;
void Start()
{
//Verificamos se não existe nenhuma cor na lista
if (cores.Length == 0)
{
//Avisamos o usuário que precisa incluir cor na lista
Debug.LogWarning("Crie uma ou mais cores na lista.");
//Encerramos o método
return;
}
//Sorteamos uma cor da lista e atribuimos a variável c, que é do tipor Color
Color c = cores[Random.Range(0, cores.Length - 1)];
//Obtemos o componente Render, accessamos a propriedade color e definimos a nova cor
GetComponent<Renderer>().material.color = c;
}
}
Para alterar a cor de emissão de um material, por exemplo, podemos utilizar o código abaixo.
GetComponent<Renderer>().material.SetColor("_EmissionColor", Color.blue);
Espero que tenha gostado e a gente se vê na próxima.