gif: не зависает там, где я ожидать
`
использования UnityEngine;
Код: Выделить всё
public class TextOverlay : MonoBehaviour
{
public Texture2D[] cursorTexture;
public Renderer rend;
private void Start()
{
rend = GetComponent();
ChangeCursor(false);
}
public void OnMouseEnter()
{
rend.material.color = Color.red;
ChangeCursor(true);
}
public void OnMouseOver()
{
rend.material.color -= new Color(0.1F, 0, 0) * Time.deltaTime;
}
public void OnMouseExit()
{
rend.material.color = Color.white;
ChangeCursor(false);
}
public void ChangeCursor(bool value)
{
Debug.Log("change cursor: " + value);
if (value)
Cursor.SetCursor(cursorTexture[1], Vector2.zero, CursorMode.Auto);
else
Cursor.SetCursor(cursorTexture[0], Vector2.zero, CursorMode.Auto);
}
}
Я ожидаю, что курсор изменится и подсветка подсветится красным, когда курсор пройдет за край коллайдера.
Проверил, 3D-бокс-коллайдер подходит под куб, к основной камере подключен Physics Raycaster, других камер нет, попробовал три версии unity, новый проект, с Cinemachine мозгом и без него. (В конечном итоге понадобится работать с Cinemachine.) Я пробовал OnMouseEnter/Exit, OnPointerEnter/Exit и EventTrigger.
Подробнее здесь: https://stackoverflow.com/questions/792 ... th-onmouse