[유니티] Platform Effector 2D 사용시 주의할 점..

프로그래밍/유니티2018. 5. 9. 15:55

안녕하세요. (유니티 초보) 개발자 드리머즈입니다.


[유니티] 두들점프 만들기 유튜브 무료 강좌(영어)


이전 포스팅에서 알려드린 유튜브 강좌를 기반으로 두들점프와 유사한 점프 개발을 하고 있습니다.

그런데.. 테스트 중에 이상 현상이 발견됐습니다.


문제 현상

어떤 이상 현상이냐면


위 gif와 같이 똑바로? 점프를 했을 때는 블록에 제대로 닿지 않습니다.


그런데 약간 각도를 틀어서? 위쪽 블록에 접근하는 경우.. 신기하게도 위 블록에 안착을 하게 됩니다.

(추가적으로 이 상황에서 점프도 하지 않음)



문제 원인

유니티 초보이다보니.. 정확하게 왜 이런 현상이 발생하는지 찾는데 오래 걸렸습니다.


Box Collider 2D와 Edge Collider 2D와 충돌하는 시점(OnCollisionEnter2D가 호출되는 시점)


Box Collider의 1/2이상?이 Edge Collider보다 높은 곳에 있으면.. Box Collider과 위로 밀려나는 것이 원인으로 보입니다.


블록에 부딪혔을 때 점프하는 효과를 제거하고 테스트한 gif영상입니다.

참고로 블록의 상단에 Edge Collider 2D과 설정되어 있습니다.


Box Collider의 1/2이상?이 Edge Collider보다 높은 곳에 있는 경우  Box Collider의 1/2미만?이 Edge Collider보다 높은 곳에 있는 경우


참으로 신기한 현상이네요..


해결 방법


Box Collider 2D의 두께와 관련있는 문제라

Box Collider의 두께를 얇게 변경했습니다.


Edge Collider 2D를 2개 사용하지 않는 이유는

엣지 콜라이더 끼리는 충돌이 되지 않기 때문입니다.


이게 가장 나은 방법인지는 모르겠습니다.


더 좋은 방법을 발견하면 포스팅 하겠습니다.




작성자

Posted by 드리머즈

관련 글

댓글 영역