📁 개발 히스토리

유니티 - 이미지 쓰지 않고 스프라이트 렌더러에 버튼 붙여버리기

일단몸통박치기 2022. 10. 17. 22:23

본론부터 말하자면 불가능하다

유니티는 기본적으로 레이캐스트(상호작용하고자 하는 곳? 범위?를 지정하고 실제 부딪혔는지 체크하는 광선검)이

이미지에 자동적으로 붙어있다.

이미지에만 Raycast가 붙어있다.

즉 스프라이트 렌더러에는 레이캐스트가 없다.

그래서 버튼을 달아도? 클릭했는지 아닌지 오브젝트가 알 방법이 없기 때문에 버튼이 작동하지 않는다.

이미지 내놓으라는 버튼

 

 

 

해결방법 1. 스프라이트 렌더러를 포기하고 이미지로 죄다 바꾼다.

-> 이론적으로는 가능하다. 다만 코드도 다 바꿔야하고 시간도 오래걸리고

무엇보다 아직 이미지 파트 스크립트를 잘 못 읽는다...ㅋㅋㅋ 그래서 바꿀 엄두가 안남

 

그래서 아래의 방법을 사용했다

해결방법 2. 카메라에 피직스 2D 레이캐스트를 붙인다. 카메라에만 붙힐 수 있음

그 다음에 클릭할 오브젝트에 2D 콜리젼을 붙인다. 

그리고 이벤트 트리거라고 클릭, 드래그, 떼기 등등 체크할 수 있는 트리거가 있는데

이 트리거에 스크립트를 연동시켜서 함수를 실행한다~

 

2번으로 아직까진 문제발견X