[C#] Raycast2D


어제 저녁부터 마우스 포지션에 있는 오브젝트가 레이에 맞지 않아서

유니티 레퍼런스, 구글링 등을 통해 Raycast2D에 대해 알아보았다.


정말 틀린 곳을 도무지 모르겠는데 자꾸만 오브젝트가 레이에 맞지 않더라..



일단 첫 줄의 Vector2 pos = Camera.main.ScreenToWorldPoint (Input.mousePosition);

화면상의 마우스 포인트를 월드 좌표로 바꾸어서 pos란 변수에 저장.


두 번째.

Ray2D 구조체를 생성해준다.

Ray2D의 첫 번째 변수는 레이가 만들어질 위치. 쉽게 말해 총구라 할 수 있다.

두 번째 변수는 레이가 어떤 방향으로 날아갈 것인가. 총구의 방향이라 할 수 있다.

여기까지 ok


세 번째.

RaycastHit2D가 달라는대로 변수를 넘겨준다.

1. 레이가 만들어질 위치 2. 레이가 날아갈 방향 3. 어디까지 날아갈 것인가(거리) 4. 레이어 마스크

앞서만든 Ray2D구조체의 첫 번째 변수 --> origin

두 번째, 방향을 가리키는 변수 --> direction

세 번째, 네 번째는 생략 가능

오키 여기까지도 문제없음


그런데.. 왜 오브젝트가 검출이 안되냐 이 말이지..

콜라이더도 다 붙여 놓았는데..


정말 이거 때문에 이 더운날 반나절 동안 혼자 씩씩대면서 열폭하던 중...

2D게임 만들면서 평면으로 보지 않고 있었네..?



+ Recent posts