Установить текстуру всех материалов

#c# #unity3d

#c# #unity3d

Вопрос:

Как мне получить все материалы из GameObject (в некоторых есть 5-10 материалов) и установить одинаковую текстуру для каждого из этих материалов?

 public GameObject go;
public Texture texture;
void Start()
{
 go.GetComponent<Renderer>().material.SetTexture("_BaseMap", texture);
}
 

Ответ №1:

Я нашел способ сделать это. Собрав все материалы в массив.

 
 Material[] myMaterials = gameObject.GetComponent<Renderer> ().materials;
        for (int i = 0; i < myMaterials.Length; i  ) {
            myMaterials[i].SetTexture ("_BaseColorMap", texture);
        }
 

Ответ №2:

общедоступный игровой объект go, go1, go2; Попробуйте сделать это так