Raycast 统一击中游戏对象

Raycast hit game object in unity

我在unity中创建了一个3d主菜单,每个按钮都是一个立方体。 我允许用户通过光线投射点击按钮,问题是 我想在光线投射在立方体上时更改立方体颜色,并在光线投射退出立方体时将其转换回原始颜色。 我正在使用 c#,我读到了 "OnMouseEnter" 和 "OnMouseExit" - 我没有使用鼠标,而是使用游戏控制器 (Razer Hydra)。 如何在光线投射中模拟 OnMouseEnter 和 OnMouseExit?

根据我的理解,您想在立方体上进行光线投射并更改其颜色,然后在光标或光线投射未击中它时将其改回原来的颜色,我建议您在不使用 mouseEnter 和 mouseExit 的情况下使用此逻辑。

RaycastHit命中;

void Update () {

   Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
   if (Physics.Raycast(ray, out hit)) {
      if (hit.collider.tag == "cube"){
        //Change color here
        }

    }else {

    // Change back to prvious color.

} }