다들 더블점프 어떻게 구현하심?


점프 최대 횟수 = 2 


점프는 점프 횟수가 점프 최대 횟수 보다 적어야 가능하고

점프할 때마다 점프횟수 1씩 늘리고 


Physics2D.OverlapCircle(vector2 point, float radius, int layerMask);

이걸로 땅 밟은거 체크하고 땅 밟으면 점프 횟수 0으로 초기화


구글링이나 유튜브 보면 위 방법이 제일 많이 보이던데


실제로 해보면 오브젝트가 땅 위에 서있으면 실제 OverlapCircle은 땅이랑 겹치잖슴. = OverlapCircle의 밑부분이 땅을 뚫고 밑으로 내려감.

그러면 점프를 할 때 땅 체크를 매 프레임 또는 FixedUpdate() 주기에 맞춰서 체크를 하니까

점프를 하자마자 OverlapCircle이 땅에서 떨어지는게 아니라 아주 살짝 OverlapCircle의 위치가 올라가잖슴. 그러니까 여전히 땅과 겹쳐있음.

그러다 보니 점프를 하자마자 다시 점프 횟수를 0으로 초기화함,

즉 점프를 2번만 할 수 있어야 하는데 3번을 해버리는거임.

그렇다고 점프 최대 횟수를 1로 해놓고 쓰기에는 버그니까 냅두긴 그렇고


이걸 지피티한테 물어보면 OverlapCircle 크기를 조정하라는데 = OverlapCircle 크기를 작게해서 땅의 콜라이더랑 OverlapCircle이 맞닿게 하라는거임.

그러면 평지일때나 문제가 해결되지 경사일때는 또 같은 문제가 생길거 아님.


다들 이거 어케 해결하셨나요?