我尝试应用一个脚本,当光标位于对象顶部时,该脚本会更改材质颜色。这是脚本:
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创建的多维数据集时,此代码可以正常工作,但是当我尝试在导入的网格上使用它时,它无法正常工作。
有人可以帮我理解如何解决这个问题? 谢谢
答案 0 :(得分:1)
您导入的网格物体还没有鼠标检测所需的对撞机。
添加一个,对于像球体这样的简单网格,只需使用Sphere Collider
。
编辑: 此外,如果您需要经常访问它,通常应该存储引用。
private Renderer rend;
private void Awake()
{
rend = GetComponent<Renderer>();
}