renderer.material.color给出了奇怪的结果

时间:2015-02-06 11:48:33

标签: colors unity3d unityscript


我有一个奇怪的问题,我无法弄明白。
我想通过renderer.material.color更改gameobjects基色 但无论出于何种原因,这只适用于某些颜色。

这是我的代码:

首先,我宣布颜色:

    var color_movement_available = Color(0.17,0.68,0.05,1);
    var color_movement_available_hover = Color(0.33,1.00,0.17,1);

然后我分配它们,就像这样

    case ("movement_available") : 
       renderer.material.color = color_movement_available; 
       break;

    case ("movement_available_hover") : 
       renderer.material.color = color_movement_available_hover;
       break;

但是,当我测试脚本时,不会显示悬停颜色(粉红色) 我检查了检查员,颜色是我瞄准的颜色,并正确切换。
当我把它变成明亮的(基色)绿色,红色,蓝色或黄色时,它就像假设的那样工作 其他颜色会产生白色,有些颜色不会改变任何东西。

有谁知道造成这种影响的原因,或者更好的是,如何解决这个问题?

到目前为止我尝试了什么:

  • 将材质渲染器切换为漫反射(从透明/漫反射): 相同的结果
  • 将材质初始基色更改为灰色(从白色): 也没有改变

也许这与应用颜色的方式有关...

欢呼声

编辑:截图: Visual clarification 1

另外,显然,颜色彼此接近,就像相同颜色只有较暗/较浅似乎是产生白色的颜色

1 个答案:

答案 0 :(得分:0)

我猜你的对象上有一个网格渲染器。

尝试GetComponent< MeshRenderer>()。material.color