我也在找这个问题的答案。首先说两种都不起作用的方式:先取游戏对象的meterial,Material mymeterial=getcomponent<Renderer>().material;或者是取 sharedMaterial。然后使用遍历本游戏中的材质库:mymaterials = (Material[])UnityEngine.Resources.FindObjectsOfTypeAll(typeof(Material));得到的是数组,取其中的值。mymaterail1=mymaterials[1];还是用公共参数取得外部给的值: public Material mymaterail1;这些方式取得准备应用的meterial.最后让 mymeterial=mymaterail1,都不报错,但是都不起作用。我哪里出问题了?哪一步不完善?谁回答一下。