单击的代码就不写了,换材质代码如下:
Public Material myMaterial ; //定义材质类型变量,Public型,从外面拖拽上去
//
gameObject.renderer.material = myMaterial; //将新材质赋予物体即可
我也在找这个问题的答案。
首先说两种都不起作用的方式:先取游戏对象的meterial,
Material mymeterial=getcomponent().material;
或者是取 sharedMaterial。然后使用遍历本游戏中的材质库:
mymaterials = (Material[])UnityEngine.Resources.FindObjectsOfTypeAll(typeof(Material));
得到的是数组,取其中的值。
mymaterail1=mymaterials[1];
还是用公共参数取得外部给的值: public Material mymaterail1;
这些方式取得准备应用的meterial.
最后让 mymeterial=mymaterail1,都不报错,但是都不起作用。
我哪里出问题了?哪一步不完善?谁回答一下。
楼上那个方法虽然过时了,但是原理是正确的,现在用gameObject.GetComponent