제가 사용한 코드 입니다.
아직 많이 모자라서 이렇게 블로그에 올리긴 부끄럽지만.... 저도 항상 인터넷에서 도움을 많이 받는 입장에서 저도 선순환에 참여하고자
제 글이 조금이나마 도움이 되길 바라며 용기내봅니다.
더 좋은 방법을 알게되면 새롭게 포스팅 하겠습니다 :)
아래처럼 인자로 터치 포지션을 넣어서 사용해주시면 됩니다.
//터치된것이 UI이면 True 리턴.
private bool Check_if_it_is_UI(Touch touch)
{
var pointer_event_data = new PointerEventData(null);
pointer_event_data.position = touch.position;
List<RaycastResult> raycast_results_list = new List<RaycastResult>(); //여기에 히트된 개체 저장.
gr.Raycast(pointer_event_data, raycast_results_list); //레이를 발사한 후 히트된 개체들 저장 실행.
if (raycast_results_list.Count > 0)
{
GameObject casted_obj = raycast_results_list[0].gameObject; //가장 위에 있는 오브젝트부터 [0]~ 순으로 저장된다.
Debug.Log(casted_obj.tag);
if (casted_obj.CompareTag("UI")) //가장 위에 있는 오브젝트의 태그가 UI일 경우 <---- 태그를 변경하시면 됩니다.
{
return true;
}
else //UI가 아닐 경우
{
return false;
}
}
return false;
}
'Client > C# with Unity' 카테고리의 다른 글
[문제 해결] Unity에서 Android 기기를 찾지 못할 때? (0) | 2023.10.25 |
---|---|
[정보] 몰랐던 사실 기록! 1. 쉐이더 2. 랜더링 파이프라인 (0) | 2022.02.02 |
[Unity C#] String to int, Char to int (0) | 2022.01.08 |
[정보] Unity Resources.Load 스크립트상에서 유니티 Resources 폴더에 있는 데이터 사용하기! (0) | 2022.01.06 |
[정보] Unity Toggle 스크립트에서 listener 추가하는 방법. Toggle.onValueChanged.AddListener (0) | 2022.01.06 |