Unity3d 为什么修改renderer.materials[0]材质球数组没有效果?

GameObject.Find("A").transform.renderer.materials[0]=BanTouMing;GameObject.Find("A").... GameObject.Find("A").transform.renderer.materials[0] = BanTouMing;
GameObject.Find("A").transform.renderer.materials[1] = BanTouMing;
A物体有两个材质球,我想将两个材质球全都变成半透明的,即事先存好的BanTouMing。但是执行后即无反应也没报错。

为何会这样,或者说,怎样修改一个有多个材质球物体的材质球?
展开
 我来答
百度网友000dd69
2014-04-25 · TA获得超过1351个赞
知道小有建树答主
回答量:435
采纳率:100%
帮助的人:608万
展开全部
看没人回答,我就说一下吧。首先一个模型上有多个材质时,我还真不知道怎么find。给你建议,找美工合并材质,吧两个合成一个大的图片,这个美工是可以解决的。这样你就只有一个材质了。其次,如果你想把模型变成半透明,没试过你那样是不是可以,我的做法是,改变一下材质shader属性Transparent->Diffuse。然后gameObject.renderer.material.color.a = alpha(alpha值是0-1的,0.5就表示半透明了)
追问
直接改shader的话容易在还原时让原来的材质丢失,所以我选择了直接替换材质球。目前也没什么解决办法,只好把模型分成多份单材质的模型了。估计你说的合成大图片他们应该还不会。
追答
不知道你说的还原指的是什么,如果是变成初始的不透明的,gameObject.renderer.material.color.a = 1就变成不透明呗,为什么材质会丢失呢?我没遇到过材质丢失的情况啊,如果你那样也可以就按照自己思路来吧!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式