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