본문 바로가기
유니티/3D RPG

22 던전 시스템

by 노오오오오옹 2020. 6. 9.

 기능

DungeonData(던전에 대한 데이터), DungeonUI(던전 입장 및 정보), DungeonManager(던전에 대한 기능), MonsterSpawner(몬스터 데이터 세팅 및 스폰), BattleUI(몬스터의 정보), DungeonClearUI(클리어 화면)

※ 참고 사항

1.  던전 메커니즘 : 던전 입구 도착 -> 입장 여부 확인 -> 입장 및 몬스터 세팅 -> 던전 시작 -> 보스전 입장 -> 클리어

2. 플레이어가 던전 입구(DungeonInteract) 근처 까지 이동한 후, 오브젝트를 클릭하면 던전 화면(DungeonUI)를 볼 수 있다.

2-1 DungeonUI : 던전의 배경사진, 제한 조건 및 보상에 대한 정보를 확인할 수 있으며, 입장 버튼을 누르면 해당 던전으로 전환된다.

 

3. 던전으로 전환될 때 DungeonManager에서 어떤 몬스터를 어떤 위치에 스폰(MonsterSpawner)할지 데이터를 통해 세팅한다. 

3-1 몬스터들은 ObjectPool에 이미 존재한다면 그냥 가져올 것이고, 없다면 새롭게 생성한다.

 

4.  던전에서 몬스터들은 정해진 BT대로 행동한다. 몬스터가 타겟을 발견하거나 플레이어가 해당 몬스터를 공격하면, 그 몬스터에 대한 정보를 BattleUI를 통해 표시한다.

4-1 행동에는 타겟 여부 확인, 공격, 탐지, 이동, 정해진 지점으로 이동, 대기 등등이 있다.

4-2 BattleUI에서는 몬스터의 클래스, 이름, 레벨, 현재 체력, 그로기 수치를 볼 수 있다. 몬스터가 죽거나, 탐지 범위에서 벗어나거나, 체력 변화시 BattleUI의 수치들을 갱신시켜줘야한다.

 

5.  보스전 입장(TriggerEnter 이용)시 등장 모션을 보여준다. 이때 카메라 위치와 각도를 변화시켜준다.

6. 보스몬스터가 죽게된다면 DungeonClearUI 화면을 보여준다. 카드 보상중 하나를 선택하고 확인 버튼까지 누르면 원래 세계로 되돌아간다.

 

! 주의 사항

 코드

더보기
DungeonManager 클래스 : 어떤 몬스터를 어느 위치에 스폰을 시킬지 정하고, MonsterSpawner에서 나머지 세팅 값을 설정한다.
MonsterSpawn 클래스 : 몬스터의 스텟, 중심 위치, 이동 반경, 이동 속도, BT, BT 시작 등을 설정한다.
BT의 Detect 클래스 : CanSeeTarget 함수는 몬스터의 시야각안에 플레이어가 존재한다면 True, 없다면 False를 반환한다. True가 반환되면 상위가 Sequence였기 때문에 다음인 Follow가 자동적으로 실행된다. 
BT의 Follow : Detect와 Follow는 같은 시퀀스 아래에 존재하기 때문에, 탐지 물체가 있다면 무조건 Follow도 실행된다.

 

 구현 영상

던전 입구 도착 -> 던전 입장 -> 몬스터 세팅
몬스터와의 전투
보스전 입장 -> 보스 등장 모션 재생
던전 클리어 -> 기존 위치로 이동

 

 리펙토링

 

 

'유니티 > 3D RPG' 카테고리의 다른 글

21 스킬 시스템  (0) 2020.06.08
20 게임 최적화  (0) 2020.06.07
19 아이템 드래그/드랍  (0) 2020.06.06
18 비헤이비어 트리  (0) 2020.01.20
17 퀘스트 시스템  (0) 2020.01.16

댓글