Unity/UI
[Unity] 마우스(포인터)가 UI위에 있는지 확인하기
Oniboogie
2022. 5. 11. 13:25
private bool IsPointerOverUI()
{
PointerEventData pointerEventData = new PointerEventData(EventSystem.current);
pointerEventData.position = Input.mousePosition;
List<RaycastResult> results = new List<RaycastResult>();
EventSystem.current.RaycastAll(pointerEventData, results);
for (int i = 0; i < results.Count; i++)
{
if (results[i].gameObject.layer == LayerMask.NameToLayer("UI"))
return true;
}
return false;
}
당연한거지만 UI오브젝트의 레이어는 UI로 돼있어야한다
기본적으로 생성하면 레이어가 UI로 돼있다.