[Unity] Physics2D.Raycast에서 Direction이 Vector2.Zero일 때 정상적으로 작동하지 않는 문제

전지훈·2022년 5월 1일
0

Unity

목록 보기
2/2
post-thumbnail

Dialogue System for Unity를 2D게임에 적용 중이었는데 아래의 코드가 정상적으로 작동하지 않음을 확인했다.

hit = Physics2D.Raycast(mainCamera.ScreenToWorldPoint(GetSelectionPoint()), Vector2.zero, maxSelectionDistance, layerMask);

이 코드에서 Direction에 해당하는 파라미터를 Vector2.Zero가 아닌 노멀 벡터를 집어넣어 주니 정상작동을 하는 것을 확인 할 수 있었지만, 해당 코드는 평면상의 점에 대하여 Raycast를 수행하기를 원하는 것이기 때문에 정상적인 동작이 아니다.

이 문제는 Edit > Project Settings > Physcis 2D에 있는 Queries Start in Colliders를 체크해주면 해결된다.

기본값이 체크해제 되어 있고 생각보다 인지하기 어려운 문제라서 해결까지 시간이 소요된 것 같다.

출처: https://answers.unity.com/questions/756380/raycast-ignore-itself.html

profile
10%의 확신과 90%의 어.. 이게 왜 되지?

0개의 댓글