오늘 한 일
“앞으로 이동하세요” 튜토리얼 UI가 계속 남아있는 문제 발생
마지막 몬스터 처치 이후, 다음 진행 지점(성소/보스 트리거) 에 진입하면
튜토리얼 UI를 종료시키는 구조로 설계 방향 정리
단순 조건 분기보다 Trigger Zone 기반 처리가 가장 깔끔하다고 판단
해결 아이디어:
보스 이동용 Trigger Zone 진입 시
튜토리얼 UI 강제 종료
이후 NPC 대사 or 컷씬 자연스럽게 연결.
성소에 진입하면 자동으로 대사가 출력되도록 OnTriggerEnter 사용
한 번만 실행되도록 triggered 플래그 추가
대사 종료 후 자동 종료 타이밍을 위한 Coroutine 적용
private void OnTriggerEnter(Collider other)
{
if (triggered) return;
if (!other.CompareTag("Player")) return;
triggered = true;
DialogueManager.Instance.StartDialogue(dialogueID, OnDialogueEnd, lookTarget);
}
튜토리얼 종료 → 대사 시작 → 다음 연출로 연결되는 흐름이 명확해짐
튜토리얼은 상태 기반(State / Step 기반) 으로 관리하는 것이 맞다고 결론
“행동 완료” 기준으로 다음 단계로 넘어가도록 구조 정리
예시:
몬스터 처치 완료
특정 위치 진입
상호작용 성공
-> 단순 UI 토글이 아니라 게임 진행 흐름과 강하게 결합된 시스템으로 발전
기존 코드 단순화 & 불필요한 분기 제거
이전에 UI 종료를 여러 곳에서 처리하려다 복잡해졌던 구조 정리
“이 이벤트가 발생하면 여기서 끝낸다” 식으로 책임 위치 명확화
스크립트 추가 최소화 → 기존 구조 활용 우선
튜토리얼 UI는 조건 만족 시 자동 종료가 핵심
“몬스터 처치” 같은 이벤트보다
플레이어의 ‘다음 행동’을 기준으로 UI를 끄는 게 훨씬 안정적
컷씬 / 대사 / 튜토리얼은
-> Trigger → Dialogue → 다음 콘텐츠 구조가 가장 깔끔