1.01 ^ 365 = 37.78

터치가 UI를 넘어가지 않게 하고싶을때 본문

프로그래밍/Unity

터치가 UI를 넘어가지 않게 하고싶을때

Youngchangoon 2015. 10. 3. 16:01

게임을 만들다보면 종종 UI와 게임오브젝트가 겹치는데 그상황에서 UI만 눌러야하는데

게임안 오브젝트까지 눌리는 경우가 생길때가 있습니다

( 나는 RayCast를 쏘아서 터치를 하는 경우였습니다 )


그럴땐, 이코드를 Input 처리전에 써주면됩니다.

그전에 설명부터하자면 이 함수는 포인터가 중간에 UI 를 만나게되면 true를 뱉어내는 함수입니당.

UnityEngine.EventSystems.EventSystem.current.IsPointerOverGameObject(int pointerId);

- pointerId -> 이건 touch / mouse의 id.


따라서 내가 사용할땐 이렇게 썼습니다.

if (UnityEngine.EventSystems.EventSystem.current.IsPointerOverGameObject(0))

{

return;

}


+ 추가 마우스 인덱스

if (UnityEngine.EventSystems.EventSystem.current.IsPointerOverGameObject(-1))

{

return;

}