var terrain = GameObject.Find("Terrain");
var termat = terrain.GetComponent<Material>();
termat = (Material)newterrainmat;
这什么都没有做,没有错误,只是没有把当前的地形材料替换成新的地形材料.我想把当前的地形材料替换成新的地形材料。
我现在试了一下:
var terrain = GameObject.Find("Terrain");
var terraincomponent = terrain.GetComponent<Terrain>();
terraincomponent.materialTemplate = (Material)newterrainmat;
但它什么都不做。不给错误,但什么也不做。
正如Roope所说。You're re-assigning the variable instead of changing the property
,做这样的事情。
var terrain = GameObject.Find("Terrain");
terrain.materialTemplate = (Material)newterrainmat;