Unity 심화 팀 프로젝트 - 3

이준호·2024년 1월 5일
0

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



📌 수정된 기능

➔ 근접 몬스터 BT 구조 수정

  • 공통적으로 겹치는 노드들은 EnemyBasicBT에 묶어서 각 Enemy의 최상위 부모 클래스로 구성.
  • NearEnemy들에서 재정의 되는 노드 및 기능들을 묶어서 각 NearEmey의 타입별 Enemy들이 상속받도로 구성.
  • 탱커(돌진형)타입의 Enemy인 NearTankerBT클래스.

EnemyBasicBT.cs

  • Enemy들의 행동로직에 겹치는 기능들을 미리 구성하여 하나의 기둥처럼 만들었다.
  • 각 Near(근접) / Far(원거리) Enemy들은 이 EnemyBasicBT를 상속받는다.

NearEnemyBT.cs

  • EnemyBasicBT를 상속 받아서 근접 몬스터에게 필요하거나 재정의 되야 하는 부분을 새롭게 구성한다.

NearTankerBT.cs

  • 탱커(돌진형)타입인 근접 몬스터는 NearEnemyBT를 상속 받아서 탱커 타입에 필요한 노드나 내부 기능 메소드들을 추가하거나 재정의 하여 구성한다.





➔ NearTankerEnemy Animator 수정

  • 코드에서 공격을 할 때 공격으로 넘어가는 Trigger인 "IsAttack"이 있다.

  • 원래 Run에서 Attack로 넘어가는 "IsAttack" 트랜지션이 있었는데 그 부분때문에 "IsAttack" Trigger를 발동 시키면 플레이어가 적한테 멀어져도 Idle에서 Attack으로 넘어가서 한번 발동하고 다시 Idle로 넘어와서 Run으로 간 뒤에 또 Attack으로 넘어가 공격이 두번씩 나가버리는 일이 있었다. 그래서 Run에서 Attack으로 넘어가는 트랜지션은 삭제하였다.

기존 : Idle ➔ Attack ➔ Idle ➔ Run ➔ Attack

변경 : Idle ➔ Attack ➔ Idle or Run ➔ Idle ➔ Attack ➔ Idle












📌 추가된 기능

➔ Test Enemy Object

  • 테스트용 Enemy(NearTankerBT Type)의 오브젝트를 만들었다.

  • 위 수정 사항의 Animator가 이 테스트용 Enemy Object이다.

  • Patrol 기능을 추가하고 테스트만 통과하면 다듬어서 탱커 몬스터로 쓸 예정.












📌 해야할 일들

  • Patrol(순찰) 로직 구성

  • 원거리BT (노멀, 척후, 저격)

  • 각 몬스터 오브젝트 애니메이션 설정

  • 보스 구성

profile
No Easy Day

0개의 댓글