Raycast ударил игровой объект в единстве

Я создал трехмерное главное меню в единстве, каждая кнопка - куб. Я позволил пользователю нажимать на кнопку при нажатии raycast, проблема в том, что я хочу изменить цвет куба, когда raycast находится на кубе, и преобразовать его обратно в исходный цвет, когда raycast выйдет из куба. Я использую C#, и я читал о "OnMouseEnter" и "OnMouseExit" - я не использую мышь, но использую игровой контроллер (Razer Hydra). Как я могу имитировать OnMouseEnter и OnMouseExit в raycast?

1 ответ

Решение

Из того, что я понимаю, вы хотите сделать лучевую трансляцию на кубе, изменить ее цвет и изменить его обратно, когда курсор или лучи не попадают в него, я бы предложил использовать эту логику без 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.

}}

Другие вопросы по тегам