Unity - A计划(永久有效期) 扫二维码继续学习 二维码时效为半小时

(197评价)
价格: 4431.00元
DoTween
大旭发起了问答2022-11-26
5
回复
128
浏览

老师你好,我使用DOBlendableColor时存在问题

测试1:

Material myMat =GetComponent<MeshRenderer>().material;
myMat.DOBlendableColor(Color.blue,"_Color",3);
myMat.DOBlendableColor(Color.yellow,"_Color",3);

测试1结果:应该显示绿色,但是显示成黑色

测试2:

Material myMat =GetComponent<MeshRenderer>().material;
myMat.DOBlendableColor(Color.blue,"_Color",3);
myMat.DOBlendableColor(Color.red,"_Color",3);

测试2结果:应该显示成紫色,但是显示结果还是偏黑色,当调节Alpha通道(随意拖动),就会显示正常

 

想问一下老师这是为什么?

 

 

所有回复
  • 老师_Trigger 2022-11-27

    同学你好,调色不是像现实一样直接上两个染料他就会出混合色,如果想要什么颜色直接一步渐变到位就行,同时就改变两个颜色值等于是两个同时作用的,r,g,b值计算就会出问题

    • 大旭 2022-11-27

      老师,我使用的都是较为鲜艳的颜色,无论怎么混合也不应该出现黑色呀,上面我实验的两种情况,结果都是偏黑色,即使用视频教程里老师一样的代码,结果也不对,不知道为什么?

      (0) 回复
    • 老师_Trigger 2022-11-28

      回复 @ 大旭: 直接变黄或者变蓝就行,不能混合,一下子执行两个,那么等于是两个动画同时进行,r,g,b值就是同时作用,那出来的颜色就是不对的

      (0) 回复
    还有-3条回复,点击查看
    你还没有登录,请先登录注册
  • 大旭 2022-11-27

    老师,我试验了一下,Text类型对象也有同样的方法DOBlendableColor( ),当使用两种颜色进行混合是可以得出混合后的颜色的,而相同的方法在Materials对象上测试,结果就是黑色

    • 老师_Trigger 2022-11-28

      这个具体没有测试,但是这个方法本来就有问题,为什么不直接渐变成我们想要的颜色,而是同时用两个动画去作用,等于r,b,g浮点数被两个动画去作用了

      (0) 回复
    还有-4条回复,点击查看
    你还没有登录,请先登录注册
发表回复
你还没有登录,请先 登录或 注册!