Unity代码动态改变unity物体材质球颜色变白问题

今天碰到另外一种改变材质球颜色的代码,试验后发现出现物体变白问题,代码如下:
 

private void Start()
{
   renderer = GetComponent<Renderer>();
   StartCoroutine(ChangeColor());
}
IEnumerator ChangeColor()
{
    int i = 0, j = 100, k = 100;
    //变红
    for (i = 100; i < 255; i = i + 5)
    {
        Color c = new Color(i / 255.0f, j / 255.0f, k / 255.0f);
        renderer.material.color = c;
        yield return new WaitForSeconds(0.1f);
    }
}

多方尝试后跳转回Color构造函数查看,发现Unity官方注释如下:

//
        // 摘要:
        //     Constructs a new Color with given r,g,b components and sets a to 1.
        //
        // 参数:
        //   r:
        //     Red component.
        //
        //   g:
        //     Green component.
        //
        //   b:
        //     Blue component.
        public Color(float r, float g, float b);
        //
        // 摘要:
        //     Constructs a new Color with given r,g,b,a components.
        //
        // 参数:
        //   r:
        //     Red component.
        //
        //   g:
        //     Green component.
        //
        //   b:
        //     Blue component.
        //
        //   a:
        //     Alpha component.
        public Color(float r, float g, float b, float a);

使用new Color进行设置时传入的数值应该为0~1范围内

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值