无法通过脚本更改导入的blender对象材质颜色

时间:2018-05-15 20:27:17

标签: c# unity3d blender

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

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);
    }

}

当应用于使用unity创建的多维数据集时,此代码可以正常工作,但是当我尝试在导入的网格上使用它时,它无法正常工作。

以下是脚本不起作用的导入对象之一的示例: enter image description here

有人可以帮我理解如何解决这个问题? 谢谢

1 个答案:

答案 0 :(得分:1)

您导入的网格物体还没有鼠标检测所需的对撞机。

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

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

private Renderer rend;

private void Awake()
{
    rend = GetComponent<Renderer>();
}