C# Can';t按脚本更改导入的混合器对象材质颜色

C# Can';t按脚本更改导入的混合器对象材质颜色,c#,unity3d,blender,C#,Unity3d,Blender,我正在尝试应用一个脚本,当光标位于对象顶部时,该脚本会更改材质颜色。以下是脚本: using System.Collections; using System.Collections.Generic; using UnityEngine; public class ChangeColor : MonoBehaviour { public Color startColor; public Color mouseOverColor; bool mouseOver = fa

我正在尝试应用一个脚本,当光标位于对象顶部时,该脚本会更改材质颜色。以下是脚本:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ChangeColor : MonoBehaviour {

    public Color startColor;
    public Color mouseOverColor;
    bool mouseOver = false;


    void OnMouseEnter(){
        Debug.Log("START");
        mouseOver = true;
        GetComponent<Renderer>().material.SetColor("_Color",mouseOverColor);
        Debug.Log("TESTE");
    }

    void OnMouseExit(){
        mouseOver = false;
        GetComponent<Renderer>().material.SetColor("_Color", startColor);
    }

}
使用系统集合;
使用System.Collections.Generic;
使用UnityEngine;
公共类改变颜色:单一行为{
公共色startColor;
公共色鼠标颜色;
bool mouseOver=false;
void onmouseinter(){
Log(“启动”);
mouseOver=true;
GetComponent().material.SetColor(“\u Color”,mouseOverColor);
Debug.Log(“TESTE”);
}
void OnMouseExit(){
mouseOver=false;
GetComponent().material.SetColor(“\u Color”,startColor);
}
}
这段代码在应用于使用unity创建的立方体时非常有效,但当我尝试在导入的网格上使用它时,它不起作用

下面是脚本无法工作的一个导入对象的示例:

有人能帮我理解我该如何解决这个问题吗?
谢谢

您导入的网格还没有用于鼠标检测的碰撞器

添加一个,对于像球体这样的简单网格,只需使用
球体碰撞器

编辑: 此外,如果需要经常访问引用,通常应该存储引用

private Renderer rend;

private void Awake()
{
    rend = GetComponent<Renderer>();
}
private渲染器rend;
私人空间
{
rend=GetComponent();
}

这就是问题所在,谢谢!还有一件事:它与球体碰撞器一起工作,但当我使用网格或立方体碰撞器时,它就不工作了。这是为什么?@vasco\u t如果没有更多的信息,我就说不出来了。我建议用一些工作/非工作对象的截图来回答这个问题。一般来说,它们都能工作。我用网格对撞机做了一个小测试,没有问题。