개발 TIL

내일배움캠프 26일차 TIL 트러블 슈팅

yun-wj1126 2025. 2. 27. 21:23

 

위와 같이 테스트 중 충돌이 일어나지 않고 투사체가 간헐적으로 사라지지 않는 버그가 발생했다.

해결하기 위해 충돌에 대한 딜레이도 줘보고, contacts가 없을때의 처리도 했다. 

그러니 사라지지 않는 버그가 좀 줄어들긴 했으나 여전히 발생하고 있었다. 

계속해서 찾아보던 중 도저히 모르겠어서 튜터님에게 찾아가서 질문을 드렸다.

그리고 차근차근 하나씩 살펴 보았다. 맵에 컴포짓 콜라이더가 들어가 있는지 확인도 해보았고 코드도 분석해 봤는데 나오지 않아서 아래와 같이 디렉션과  contact.normal, contact.pint에 관하여 어떻게 나오는지 리스트로만들어서 인스펙터 창에서 확인해 보았다.

 

리스트들을 확인해본 결과창은 아래와 같이 나왔다.

 

위 사진에 결과처럼 확인 결과 normal의 값이 이상하게 나오는 것이 문제였다. 접촉지점이 말도 안되게 나왔고 투사체가 x축의 벽에 부딫혔는데 x가 -1에 가깝게 나와서 튕기지 않고 왼쪽 방향으로 진행했다. 그래서 이 문제를 고민을 계속하고 찾아보다가 다시 테스트를 해보았는데 투사체가 박스 콜라이더의 혹은 콜라이더의 모서리 부분에 닿을 경우 normal값이 이상하게 나오는 경우가 많았다. 그래서 결국 이 부분은 contact를 사용하기 보다는 직접 접촉한 포인트를 구해서 직접 계산을 통해 구현하는 방식이 더 좋을것 같다고 하셨다. 그래서 지금 당장 해결하지는 못했다.

하지만 나중에라도 반사각을 구하는 방식을 직접 한번 해볼까 한다. 결론은 원인을 알았지만 해결은 하지 못한 상태이다.

해결을 위해 나중에라도 접촉부분을 직접 계산해 구현해 볼까 한다!