Unity 심화 팀 프로젝트 - 4

이준호·2024년 1월 7일
0

📌 Unity 게임 개발 심화 - 팀 프로젝트



📌 수정된 기능

➔ NearEnemy

순찰 상태에서 플레이어를 만나면 추격을 하다가 플레이어가 감지범위 밖으로 나가서 다시 순찰 상태가 되면 순찰을 진행하다가 대기동작에 들어가면 허공에다가 공격을 하는 버그가 나타남.

이유

  • 공격을 하는 애니메이션으로 넘어가는 트랜지션에 들어가는 파라미터를 Trigger로 하여 공격 노드에 진입하면 Trigger를 체크해주는 방식으로 했었다.
    이런 방식으로 진행하다 보니 공격 노드에 진입하여 Trigger가 체크된 상태로 플레이어가 감지범위 밖으로 나가서 순찰하는 노드로 진입을 했고 순찰하는 노드에서는 Run 애니메이션 으로 넘어가기에 Attack으로 넘어가는 트랜지션이 존재하지 않아서 넘어가지 못하고 있다가 순찰중 대기 상태가 되어 Idle 애니메이션 으로 넘어갔을 때 체크되어잇던 Attack Trigger 파라미터가 그 때 되서야 발동이 되서 Attack 애니메이션이 재생되는 것이었다.

해결법

  • Trigger 파라미터를 bool타입 파라미터로 바꿔주고 각 상황별로 Attack이 나와서는 안되는 예외상황들을 확인하여 파라미터를 fasle로 바꿔주게 코드를 바꿧다.





➔ CoolTime

  • CoolTime이 코루틴에서 감소가 되어 체크를 하는 방식인데 그렇게 감소가 된 뒤에는 다시 CoolTime의 값을 채워줄 것이 필요하여 _originCoolTime이라는 변수를 만들어 처음 Awake()에서 CoolTime의 변수를 셋팅 할 때, CoolTime의 값을 바로 _originCoolTime에 넣어주도록 하였다.
    그리고 CoolTime 코루틴에서 소모가 되어 종료되기 전에 CoolTime = _originCoolTime;을 하여 초기화 시켜주었다.











📌 추가된 기능

➔ NearAssassinEnemy

  • 암살 타입의 몬스터를 추가했다.

  • actionDistance범위에 들어오면 플레이어가 바라보는 반대 방향으로 순식간에 이동하여 공격을 하는 특수공격 기능을 넣었다.












📌 해야할 일

  • 원거리 몬스터 BT 작성

  • Run에서 Attack으로 넘어가는 애니메이션 구조 리팩토링 필요.

profile
No Easy Day

0개의 댓글