美文网首页UNITY游戏开发
unity 修改组件颜色的方法

unity 修改组件颜色的方法

作者: suxsho_枫2 | 来源:发表于2017-08-11 17:55 被阅读55次

    遇到了个坑爹的问题,我在想在游戏里写个功能,大概就是玩家进入一个区域内,整体改变场景的透明度,离开某个区域恢复到最初的透明度。

    实际上方法很简单的,只是在搜索教程的时候,大家都教的是

    gameObject.GetComponent.().material.color.a = 0.5;

    这样只能改一个物体的颜色,不能改变所有的。

    实际上有个非常简单的办法。(这里用JS语句来写,实际上改成C#也是差不多的)

    var  mat : Material;    //设置一个Material

    function Start()

    {mat.color.a = 0.0;}   //改成全透明

    这样,就可以把整个场景所用的材质球全部改成透明度为0(即隐藏)

    唯一的缺点是,这里的改动会在项目运行时保存,所以尽量少改动,除非有我这种游戏设计所需的脑洞不得不做才改之。



    2018-3-21补充  如何更改sprite的颜色

    XXX.GetComponent().color = new Color(0.5f, 0.5f, 0.5f, 0.5f);  4个参数代表的是RGBA,范围是0-1

    相关文章

      网友评论

        本文标题:unity 修改组件颜色的方法

        本文链接:https://www.haomeiwen.com/subject/wadrrxtx.html