Unity2D

Unity) [유니티 2D] Physics2D.IgnoreLayerCollision 기능을 사용하여 자연스러운 넉백 효과 만들기

HSH12345 2023. 4. 15. 16:50
    private IEnumerator KnockbackRoutine()
    {        
        this.isKnockBack = true;
        Physics2D.IgnoreLayerCollision(8, 8, true);
        this.stun = 0;
        this.anim.SetInteger("State", 2);
        yield return new WaitForSeconds(0.15f);
        this.isKnockBack = false;
        Physics2D.IgnoreLayerCollision(8, 8, false);
        this.rBody2D.velocity = Vector2.zero;
        this.stun = 1;
    }

 Physics2D.IgnoreLayerCollision 기능을 사용하여 넉백되는 동안 같은 레이어 끼리는 충돌을 하지 않도록 지정할 수 있다. 현재 문제는, 몬스터의 피격 후 코루틴이 정상적으로 작동하지 않아 isKnockBack이 false가 되지 않는 경우가 종종 발생하는데 원인을 찾아서 해결해야한다.