헤매던 부분들

jh Seo·2024년 3월 27일
0

헤매던 부분들

목록 보기
5/7

점프 관련

플레이어의 점프 구현을 rigidbody2d.velocity의 y값을 이용해 처리중이였다.
tilemap collider과 using composite collider을 통해 지형을 제어중이다.

        //for fall faster in air
        if (rigid.velocity.y >= -0.5f)
        {
            if (rigid.velocity.y <= 0.1f)
            {
                animator.SetBool("onJump", false);
            }
            rigid.gravityScale = normalGravityScale;
        }
        else if(rigid.velocity.y<0)
        {
            //rigid.gravityScale = normalGravityScale;
            rigid.gravityScale = fallingGravityScale;
        }

위 코드는 velocity.y와 비교해 공중에 떠있다면 더 빨리 떨어지게 하기위해 gravityscale을 변경해주는 방식이다.

하지만 0과 비교하자니 계속 velocity.y가 앞으로 걷기만해도 조금씩 변화되어서 문제였다.
따라서 0.5와 비교해보려했지만 그 값보다도 커질때가 가끔 생겨서 중력때문에 느리게 걸어진다..

혹시 몰라 player의 collision detection도 continuous로 변경했지만 똑같았다.

결국 rigidbody.velocity.y의 더 정확한 threshold를 찾아야 해결될 문제같아서
그냥 bool형변수 onGround를 이용해 체크하기로 했다.

profile
코딩 창고!

0개의 댓글