6.3 KiB
6.3 KiB
| type | scope | author | date | version | project | phase | data_source | status |
|---|---|---|---|---|---|---|---|---|
| 상세_기획 | HUD_설계 | ux-designer | 2026-04-23 | v0.1 (Phase 3-B) | EerieVillage | Phase 3-B | BT5-Plan 02_코어_루프 v0.1 + 04_전투_기본_스펙 v0.1 | 확정 골격 — 세부 레이아웃 수치는 개발팀 협의 |
02. HUD 설계
1. 재미 축 연결 (P30)
HUD 원칙: 정보 과다 = 정보 없음. 라이프 1 시스템(즉사 전제)에서 HUD가 전달해야 할 것은 오직 "현재 상태"와 "다음 결정"이다. 한 화면에 한 가지 결정만 요구.
2. 인게임 HUD 요소
2-1. 정보 우선순위
| 우선순위 | 요소 | 이유 |
|---|---|---|
| 1순위 | 라이프 표시 (생존 여부) | 라이프 1 즉사 → 즉시 인지 필수 |
| 2순위 | 레벨 + 경험치 게이지 | 레벨업 카드 픽 트리거 예고 |
| 3순위 | 카드 슬롯 (현재 보유 카드) | 빌드 확인용, 전투 흐름 방해 금지 |
2-2. HUD 배치 (와이어프레임)
┌──────────────────────────────┐
│ [Lv.3 ████████░░] [♥] │ ← 좌상단: 레벨·경험치 + 라이프
│ [⚙] │ ← 우상단: 일시정지
├──────────────────────────────┤
│ │
│ 플레이 영역 │
│ │
│ [카드1][카드2][카드3] │ ← 하단: 카드 슬롯 (반투명)
│ [입력 영역] │
└──────────────────────────────┘
- 라이프 표시: 하트 아이콘 1개. 피격 시 깜박임·소멸 애니메이션 (1초 이내 인지)
- 레벨·경험치 게이지: 텍스트 + 바. FormatEx로 "Lv.N" 포맷 렌더링
- 카드 슬롯: 보유 카드 아이콘 최대 N개 (N=balance-designer 결정). 소형·반투명으로 전투 방해 최소화
- 일시정지 버튼: 우상단 고정. Safe Area 내 배치 의무
2-3. 보스전 추가 HUD
보스룸 진입 시 보스 HP 바 상단 출현:
- 보스 이름 + HP 바 (화면 상단 중앙)
- 보스 HP 0 도달 시 바 사라짐 + 처치 피드백 (성공 인지 1초 이내)
3. 레벨업 카드 픽 UI (분기 포인트 1)
트리거: 경험치 만렙 → Time.timeScale = 0 일시정지 → 카드 픽 화면 진입
┌──────────────────────────────┐
│ │
│ 레벨 업! Lv.N → Lv.N+1 │
│ │
│ [카드 A] [카드 B] [카드 C] │ ← 3장 선택
│ 설명 설명 설명 │
│ │
└──────────────────────────────┘
- Canvas: CardPickCanvas.prefab (Additive), timeScale 0에서도 정상 동작 (Unscaled Time 사용)
- 결정 압박 없음: 시간 제한 없이 선택 가능 (캐주얼 포지션)
- 선택 피드백: 카드 선택 시 하이라이트 + 확인 버튼 노출 → 실수 방지 2단계
- 선택 완료:
Time.timeScale = 1복귀 + 카드 획득 시각 피드백
4. 마을 UI (허브 화면)
진입점: 게임 시작 / 사망 복귀 / 보스 처치 후 귀환
| 화면 | 역할 | 최소 정보 |
|---|---|---|
| 스테이지 선택 | 다음 도전 스테이지 결정 | 스테이지 번호·난이도 표시 |
| 특성 목록 | 현재 보유 특성 확인 | 유지 자산 확인 (사망 후 안도감) |
| 아이템 슬롯 | 장착 아이템 현황 | 파츠별 1개 제한 가시화 |
| 출발 버튼 | 스테이지 진입 | 단일 CTA (Call-To-Action) |
- NPC 대화·상점은 Phase 3-C 이후 확장 (파일럿 제외)
- 화면 전환: 버튼 탭 → 씬 전환. 씬 전환 UX (페이드·연출)는 Phase 3-B 후속 과제
5. 사망·복귀 전환 UI
목표: 사망 낙차 감정을 1~2초 이내로 처리하여 "다시 하고 싶다" 루프 유지 (02_코어_루프 §6 계승)
- 사망 연출: 1~2초 (캐릭터 소멸 애니메이션)
- 결과 표시: "런 종료 / 레벨 N 도달 / 획득 경험 N" 1화면. 심플하게
- 마을 복귀: 로딩 느낌 없이 Additive Load 씬 전환 (VillageScene 상시 유지 방식)
- 유지 자산 확인: 마을 복귀 직후 아이템·특성 유지 표시 → 낙차 후 안도 제공
인지 목표: 사망부터 다음 스테이지 선택까지 5초 이내 (페이싱 유지).
6. BT.Framework 재사용 매핑
| BT.Framework | HUD 활용 용도 | 구현 시점 |
|---|---|---|
| Log | HUD 갱신 이벤트 디버그 | Tier 1 P0 즉시 |
| FormatEx | "Lv.N" · 경험치 수치 포맷 | Tier 1 P1 |
| EnumEx | 카드 슬롯 타입 enum 순회 | Tier 1 P2 |
| SafeAreaBorder | HUD 요소 Safe Area 자동 패딩 | Tier 2 신규 구현 후 |
7. 접근성 기본 원칙
- 색맹 대응: 라이프·보스 HP는 색상 외 형태(아이콘·바 형태)로 이중 표현
- 텍스트 크기: 최소 14sp (모바일 기준), 중요 수치는 18sp 이상
- 버튼 터치 영역: 최소 44×44dp (Apple HIG / Google Material 공통 기준)
8. 기각안
- "미니맵 HUD 포함" — 기각. 2D 횡스크롤 플랫포머에서 미니맵 정보 밀도가 손맛·집중을 저해. 스테이지 구조는 선형 진행 설계로 방향 혼란 없음. 추가 필요 시 Phase 3-C 재검토.
- "카드 슬롯 상시 크게 표시" — 기각. 카드 슬롯은 빌드 확인 보조 정보. 전투 중 시선 분산 유발. 반투명 소형으로 유지하되 일시정지 시 풀 표시.
- "시간 제한 카드 픽" — 기각. 캐주얼 포지션. 시간 제한은 긴장을 주지만 카드 텍스트 읽기 방해 → 빌드 이해도 하락 → 재미 축 1 "육성 카타르시스" 저해.
9. 개발팀 이관 항목
- CardPickCanvas.prefab + Unscaled Time 애니메이션 구현
- SafeAreaBorder 신규 구현 후 HUD Canvas에 적용
- 사망 결과 화면 씬 플로우 (Additive Load VillageScene 유지)
- FormatEx "Lv.N" · 경험치 바 UI 컴포넌트 구현
10. 변경 이력
| 일시 | 변경 | 사유 | 기안 |
|---|---|---|---|
| 2026-04-23 | v0.1 Phase 3-B 초기 확정 | BT6-Plan PD 지시 | ux-designer |