GameDevelop/Unity팀프로젝트

Unity Dialogue System | 컷씬 대사와 상호작용 대사는 따로 관리해야 할까?

도도돋치 2025. 7. 21. 20:55
Contents 접기
728x90

오늘은 Unity에서 Dialogue System을 활용할 때 “컷씬용 대사”와 “일반 NPC 대사”를 같은 Dialogue Database에 넣어도 되는지, 아니면 DB를 분리해서 관리하는 게 좋은지에 대해 정리하였다.

 

둘 다 같은 Dialogue Database에 넣어도 될까?

상호작용 방식이 완전히 다르면 따로 관리하는 게 좋다"

 

처음에는 하나의 .asset 파일에 모든 대사를 넣어도 큰 문제가 없지만 컷씬은 연출 중심, NPC 대화는 상호작용 중심이기 때문에
시간이 지나면 관리 방식과 사용 방식 자체가 달라져서 분리가 필요해진다.

 

 

컷씬 Dialogue vs 일반 NPC Dialogue 차이점

항목 일반 NPC 대화  컷씬 Dialogue
시작 방식 플레이어가 NPC 클릭하거나 접근 게임 시작, Timeline Signal 등 자동 실행
목적 선택지, 퀘스트, 대화 반응 연출, 스토리텔링, 배경 설명 등
Sequence 사용 거의 없음 또는 간단한 효과 Fade, 사운드, 이미지 전환 등 적극 사용
디자인 반복 가능, 짧고 명확한 대사 감정선 중심, 일회성 이벤트

 

 

구조

📦 DialogueDatabases
   ├── MainNPCDialogue.asset      ← 상호작용 NPC용
   └── CutsceneDB.asset           ← 연출 컷씬 전용

 

  • MainNPCDialogue: DialogueSystemTrigger로 자동 실행되는 상호작용 대사
  • CutsceneDB: StartConversation()으로 직접 호출하는 연출용 대사

 

여러 DB를 동시에 사용할 수 있을까?

> YES
Dialogue System은 여러 .asset DB를 동시에 불러와서 쓸 수 있다.

// 컷씬 시작 전 DB 로드
DialogueManager.AddDatabase(cutsceneDB);
DialogueManager.StartConversation("Cutscene/Opening");

 

 

 

언제 DB를 분리하면 좋을까?

분리해도 좋은 상황 예시
컷씬마다 연출 효과가 복잡해질 때 Timeline 없이 Dialogue로 연출
NPC와 상호작용 대사가 반복될 때 마을 주민, 상점 등
대사가 많아지고 관리가 어려울 때 챕터별/씬별로 분리

 

 

정리

컷씬과 상호작용 대사 같이 넣어도 되나요? 가능하지만, 역할이 다르다면 분리 추천
여러 DB를 동시에 쓸 수 있나요? 가능. DialogueManager가 처리해준다
구조 추천해주신다면? MainNPCDialogue.asset + CutsceneDB.asset 구성

 

728x90