如何通过C#脚本为游戏对象分配多种材质?
到目前为止,我尝试过的是:
public GameObject go;
public Material Mat1;
public Material Mat2;
void Start()
{
//this does not work
go.GetComponent<Renderer>().materials[0] = Mat1;
}
最佳答案
您不能直接更新物料,但是需要创建一个新的物料阵列并进行分配。
void Start()
{
//create your materials
var yourMaterials = new Material[] { Mat1, Mat2 };
//assign it
go.GetComponent<Renderer>().materials = yourMaterials ;
}
您也可以检查documentation。
请注意,就像Unity返回的所有数组一样,这将返回的副本。
材料阵列。如果要更改其中的某些材料,请获取
值,更改条目并将物料放回原处。
关于c# - 通过脚本向游戏对象分配多种 Material ?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56769176/