[C#] Raycast2D
어제 저녁부터 마우스 포지션에 있는 오브젝트가 레이에 맞지 않아서
유니티 레퍼런스, 구글링 등을 통해 Raycast2D에 대해 알아보았다.
정말 틀린 곳을 도무지 모르겠는데 자꾸만 오브젝트가 레이에 맞지 않더라..
일단 첫 줄의 Vector2 pos = Camera.main.ScreenToWorldPoint (Input.mousePosition);
화면상의 마우스 포인트를 월드 좌표로 바꾸어서 pos란 변수에 저장.
두 번째.
Ray2D 구조체를 생성해준다.
Ray2D의 첫 번째 변수는 레이가 만들어질 위치. 쉽게 말해 총구라 할 수 있다.
두 번째 변수는 레이가 어떤 방향으로 날아갈 것인가. 총구의 방향이라 할 수 있다.
여기까지 ok
세 번째.
RaycastHit2D가 달라는대로 변수를 넘겨준다.
1. 레이가 만들어질 위치 2. 레이가 날아갈 방향 3. 어디까지 날아갈 것인가(거리) 4. 레이어 마스크
앞서만든 Ray2D구조체의 첫 번째 변수 --> origin
두 번째, 방향을 가리키는 변수 --> direction
세 번째, 네 번째는 생략 가능
오키 여기까지도 문제없음
그런데.. 왜 오브젝트가 검출이 안되냐 이 말이지..
콜라이더도 다 붙여 놓았는데..
정말 이거 때문에 이 더운날 반나절 동안 혼자 씩씩대면서 열폭하던 중...
2D게임 만들면서 평면으로 보지 않고 있었네..?
'C#, 유니티' 카테고리의 다른 글
[C#] 세대별 가비지 컬렉션 알고리즘 (0) | 2017.08.06 |
---|---|
[모바일 퍼즐 게임] 피즈 펑크! Pz Punk! : The Candy Thief (1) | 2017.07.23 |
[C#] Func 델리게이트, Antion 델리게이트 (0) | 2017.07.01 |
[유니티 기초] mesh에 대해서 (0) | 2017.06.29 |
[유니티 기초] 기분 좋은 터치 감각 (physic material, mass) (0) | 2017.04.08 |