Unity/기록

NPC 대화, 퀘스트 시스템

우대비 2024. 9. 2. 22:29
반응형

 

캐릭터가 특정 위치에 들어서면 자동으로 대화가 시작되게 만들었습니다.

플레이어의 응답 버튼에 상태를 만들었고 퀘스트 받기 상태인 응답을 선택하면 퀘스트가 등록됩니다

 

 

 

대화가 가능한 NPC와 가까워지면 상호작용 키를 눌러서 대화를 할 수 있습니다.

NPC는 현재 상태에 따라 다른 아이콘을 띄우게 만들었습니다.

 

! -> 퀘스트 대기 상태

? -> 퀘스트 완료 상태

... -> 퀘스트 진행 중 상태

 

선행 퀘스트의 개념을 적용시켰습니다.

선행 퀘스트가 완료되지 않았다면 퀘스트를 진행할 수 없도록 하였고

 

퀘스트 상태를 체크하는 script를 따로 작성하여

퀘스트기 특정 상태가 되면 Cinematic 재생, NPC와 몬스터 생성과 같은 로직으로 이어질 수 있게 했습니다.

 

 

 

JustKnight/Assets/Scripts/NPC/NpcManager.cs at main · znlsnel/JustKnight

2D Unity Project. Contribute to znlsnel/JustKnight development by creating an account on GitHub.

github.com

-NPC Manager

Npc 로직을 관리하는 script입니다.

 

 

JustKnight/Assets/Scripts/Quest/QuestSO.cs at main · znlsnel/JustKnight

2D Unity Project. Contribute to znlsnel/JustKnight development by creating an account on GitHub.

github.com

-QuestSO

Quest Data를 ScriptObject로 관리했습니다.

 

 

 

JustKnight/Assets/Scripts/Dialouge/EpisodeSO.cs at main · znlsnel/JustKnight

2D Unity Project. Contribute to znlsnel/JustKnight development by creating an account on GitHub.

github.com

-EpisodeSO

NPC와의 대화를 EpisodeSO라는 이름으로 관리했습니다.

 

 

JustKnight/Assets/Scripts/Dialouge/QuestStateChecker.cs at main · znlsnel/JustKnight

2D Unity Project. Contribute to znlsnel/JustKnight development by creating an account on GitHub.

github.com

 

-QuestStateChecker

Quest의 상태를 체크하는 script입니다.

 

 

 

JustKnight/Assets/Scripts/Quest/QuestManager.cs at main · znlsnel/JustKnight

2D Unity Project. Contribute to znlsnel/JustKnight development by creating an account on GitHub.

github.com

-Quest Manager

모든 Quest를 관리하는 script입니다.

 

 

 

JustKnight/Assets/Scripts/UI/DialogueManager.cs at 24083d7ca266b3bf8e84fc7f474672186f67e16c · znlsnel/JustKnight

2D Unity Project. Contribute to znlsnel/JustKnight development by creating an account on GitHub.

github.com

 

-Episode Manager

NPC와의 모든 대화들을 관리하는 Manager입니다.

반응형
LIST

'Unity > 기록' 카테고리의 다른 글

NPC 대화창 구현  (0) 2024.06.22
상호작용 기능 구현  (0) 2024.06.22
인벤토리 기능  (0) 2024.06.13
Item System 구현  (0) 2024.06.08
Unity Shader Hp Bar  (0) 2024.05.14