코딩의 신 62

김동관·2025년 12월 30일

오늘 한 일

튜토리얼 진행 흐름 정리 & UI 문제 해결

“앞으로 이동하세요” 튜토리얼 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 → 다음 콘텐츠 구조가 가장 깔끔

profile
아이디어 뱅크

0개의 댓글