1. 문제 상황
- 2D 프로젝트에서 발사체가 벽에 충돌할 때 Relfect를 사용하여 반사 처리를 구현
- 하지만 발사체가 벽에 부딪힐 때 발사체가 이상한 각도로 튀는 현상이 발생

2. 원인 분석
- 2D에서는 여러개의 타일 콜라이더로 이루어져 있을 경우, 타일과 타일 사이의 경계가 존재
- 해당 경계에 충돌하게 되면 법선 백터가 잘못 계산되어 반사각이 이상하게 튐

- 경계 충돌로 인한 왼쪽 충돌이 아닌 위쪽 충돌로 판정
3. 해결 방법
- 해당 타일맵에 Composite Collider 2D를 추가하여 타일 간 경계가 없는 하나의 연속된 콜라이더로 처리

4. 개인적인 생각
생각보다 눈에 보이는것과는 다른 예상치 못한 문제점이 많았다.
처음엔 단순히 코드 로직 문제로 생각하고 잘못된 점을 찾아봤는데, 콜라이더 구조와 충돌 처리에 대한 문제였다.
단순히 코드뿐만 아니라 엔진의 구조적 특징과 작동 방식에 대한 이해도 필요하겠다고 느꼈다.
'Unity > 트러블 슈팅' 카테고리의 다른 글
| [Unity] Time.unscaledDeltaTime이 첫 프레임에 튀는 현상 (0) | 2025.06.17 |
|---|---|
| [Unity] 인벤토리 - 슬롯 선택 동작 오류 (0) | 2025.05.30 |
| [Unity] MonoBehaviour 생성자 오류 (0) | 2025.05.20 |
| [Unity] 타일맵 크기 변경 오류 (0) | 2025.05.16 |
| [Unity] AnyState 전이로 인한 애니메이션 멈춤 현상 분석 (0) | 2025.05.14 |