Unity C#

OnMouseOver в Unity C#: наведение курсора на объект

Метод OnMouseOver — встроенный метод Unity, который вызывается каждый кадр, пока курсор находится над объектом со скриптом. Его используют для интерактивных эффектов: смены внешнего вида, подсказок или действий при наведении.

Особенности

  • Вызов при наведении: срабатывает каждый кадр, пока курсор над объектом с Collider и скриптом.
  • Простота: достаточно добавить объекту коллайдер.
  • Ограничения: работает только с объектами, у которых есть Collider.

Пример кода

Пока курсор над объектом, он жёлтый; ушёл — вернулся исходный цвет:

using UnityEngine;

public class HighlightObject : MonoBehaviour
{
    private Color originalColor;

    // Метод Start сохраняет оригинальный цвет объекта
    void Start()
    {
        originalColor = GetComponent<Renderer>().material.color;
    }

    // Метод OnMouseOver изменяет цвет объекта при наведении мыши
    void OnMouseOver()
    {
        GetComponent<Renderer>().material.color = Color.yellow;
    }

    // Метод OnMouseExit возвращает оригинальный цвет объекта
    void OnMouseExit()
    {
        GetComponent<Renderer>().material.color = originalColor;
    }
}