용도
- UI를 클릭할 경우에 다른 클릭 이벤트를 발생하지 않도록 해야할 경우 사용
- UI 클릭 시 True, 아니면 False
if(!EventSystem.current.IsPointerOverGameObject())
{
//클릭 처리
}
- 위의 코드는 IsPointerOverGameObject()가 False일 경우 조건이 성립된다.
- 즉, 다른 UI가 클릭되지 않았을 경우에만 조건을 만족한다는 뜻이다.
- 만약 오브젝트를 클릭하는 처리를 해야하는 경우 다른 UI위에서 오브젝트가 클릭되지 않게 하려면 위와 같은 조건을 통해 오브젝트 클릭은 UI가 떠있지 않은 경우에만 가능하도록 해준다.
- UI가 떠있어도 오브젝트가 클릭되게 하려면(투명한 패널 등의 경우) UI의 Image 컴포넌트의 Raycast Target을 체크 해제해 준다. 그럴 경우 해당 패널을 터치로 인식하지 못해 오브젝트가 클릭이 가능하다.

클릭과 터치 구현
- 유니티에서는 클릭과 터치가 별도로 동작하므로 모바일의 경우 터치에 대해 따로 구현을 해주어야 한다.
- IsPointerOverGameObject의 경우 인자가 없을 경우 기본값으로 마우스의 클릭으로 인식된다.
- 모바일의 경우 인자로 0을 전달해주어야 한다.
- 0은 첫 번째 터치, 1은 두 번째 터치.. 이런식이라고 한다.
#if UNITY_EDITOR
point_id = -1;
#else
point_id = 0;
#endif
if(!EventSystem.current.IsPointerOverGameObject(point_id))
{
//클릭 처리
}