유니티/AA(3D 쿼터뷰 액션 게임)

AA(10) - 점프 구현

무직백수취업준비생 2021. 9. 12. 22:31
728x90
반응형
    bool jDown;
    Rigidbody rigid;

	void Awake()
    {
        rigid = GetComponent<Rigidbody>();
    }
    
    void Update()
    {
            Jump();
    }
    void Jump()
    {
        if (jDown)
        {
            rigid.AddForce(Vector3.up * 5, ForceMode.Impulse); //15만큼 위로 힘을 가함
        }
    }

플레이어 스크립트에 점프를 추가합니다.

 

 

Floor 태그를 추가해 바닥에 적용해줍니다.

 

bool isJump;

    void Jump()
    {
        if (jDown && !isJump)
        {
            rigid.AddForce(Vector3.up * 5, ForceMode.Impulse); //15만큼 위로 힘을 가함
            isJump = true;
        }
    }
    void OnCollisionEnter(Collision collision)
    {
        if(collision.gameObject.tag == "Floor")
        {
            isJump = false; //Floor에 접촉시 isJump를 false로 되돌려 점프가 가능한 상태로 변경
        }
    }

Floor에 접촉하기 전엔 점프가 불가능하게 만들어서 연속 점프를 막습니다.

 

점프와 착지, 회피동작 애니메이션을 세팅해줍니다.

 

 

점프와 착지가 정상적으로 이루어집니다.

728x90
반응형