(유니티)에네미가 장애물에 걸린 경우 방향 바꿔서 움직이게 하기

  • DKLaw 

경로를 지정한 에네미가 장애물에 걸린 경우에 대한 이벤트를 걸어주지 않으면 마냥 갇혀 있게 됩니다.

따라서 장애물에 걸린 경우 방향을 바꾸도록 이벤트를 설정해줘야 합니다.

이 경우에는 컬리젼으로 장애물에 부딪히는 것을 판단해주면 되겠죠.

그리고 리지드바디는 addfoce를 이용하도록 합니다. 기존 애니메이션을 건드리지 않도록 말이죠.

에네미가 장애물에 걸린 경우 이동 방향 바꿔주기
    private void OnCollisionEnter2D(Collision2D other)
    {
        if (other.gameObject.tag == "Obstacle")
        {
            direction =  MoveDirection(transform.position.x , other.transform.position.x , direction); 

            transform.localScale = new Vector3((int)direction-1, 1, 1);  // 방향 
            if (direction == Direction.Left)
            {
                rigidbodyFrog.AddForce(new Vector2( -jumpLength, 0)); 
            }else if (direction == Direction.Right)
            {
                rigidbodyFrog.AddForce(new Vector2( jumpLength, 0)); 
            }

        }
    }