unity3d中怎么用代码换材质

就是一个cube单击一次换一次材质,请问程序怎么写
2024年11月20日 04:31
有3个网友回答
网友(1):

单击的代码就不写了,换材质代码如下:

Public Material myMaterial ; //定义材质类型变量,Public型,从外面拖拽上去
//
gameObject.renderer.material = myMaterial; //将新材质赋予物体即可

网友(2):

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

网友(3):

楼上那个方法虽然过时了,但是原理是正确的,现在用gameObject.GetComponent().material=新的材质,说无效的该不会是没有拖新的材质球吧..