유니티 개념이 약해서 헷갈리는거 같은데
이미지를 클릭하면 그거 이름을 걍 간단히 대화창에 출력 해보는 걸 구현을 해볼라했었는데
Vector2 pos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
RaycastHit2D hit = Physics2D.Raycast(pos, Vector2.zero, 0f);
이렇게 마우스 클릭을 하면 마우스 좌표에 맞는 이미지를 알아서 찾아서 뜨겠지 했는데
안되고 생각해보니까 이미지는 캔버스 안에 있고 찾아보니까 유니티가 그 UI를 카메라 위치 상관없이
띄워주는거라 실제론 거기 없어서 감지가 안되는데
이러면 구현을 할때 어떻게 해야하죠? 2d 오브젝트를 만들고 거기다 이미지 넣고 카메라가 거길 비추게하는건가
뭐 그런식으로 해야하는건가 이거 계속 이해 못하고 제자리 걸음이라 잘 모르겠어요
아니면 접근자체가 잘못된건가요 일단 만들고 싶은게
위에 저 식탁위에 있는 키 이미지를 누르면 키를 획득했다 같은 메세지를 대화창에 띄워주고 이런걸 만들고 싶은건데
ui는 따로 유니티에서 알아서 이벤트 감지를 해줌 보면 ui 버튼 인스펙터창에 OnClick이 있을텐데 없으면 버튼 컴포넌트를 추가하면됨 그걸 이용해서 너가 함수를 만들고 거기 바인드해줘도 되고 따로 IPointerClickHandler 인터페이스를 상속해서 OnPointerClick함수를 오버라이딩 하는 방법 두개가 있음
아 인터페이스라 정확히는 오버라이딩이 아니라 함수 구현이 맞겠네
그렇네요 그냥 이미지에 함수때려박아서 만들면 되겠네요 raycast 충돌감지 저 방법만 너무 생각한듯 감사합니다 자고깨서 해볼게요...