设置所有材质的纹理

问题描述

如何从游戏对象中获取所有材质(有些有 5-10 个材质)并为这些材质中的每一个设置相同的纹理?

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

解决方法

我有办法做到这一点。通过将所有材料放入一个数组中。


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

公共游戏对象 go,go1,go2; 试试这个方法