BurningTimesAi/프로젝트/EerieVillage/기획/ux/02_HUD_설계.md

133 lines
6.3 KiB
Markdown
Raw Normal View History

feat(BT5-Dev·2단계 + BT6-Plan·Phase3B): 7 Agent 병렬 집행 + pm-auditor Critical·Major 정정 BT5-Dev 2단계 (개발팀 Agent · Unity MCP 미지원 환경에서 파일 직접 Edit ~90% 커버): - Unity 5종 편집 (PlayerAttack·AttackHitbox 신설, PlayerController·Health·PlayerEnemyCollision 개정) - InputSystem_Actions Attack 액션·SampleScene Alien→PlayerIdle GUID 교체 - i-frame 0.6s·마우스 좌 공격·밟기 판정 폐기 - 백업 5종 C6-1 표준 - 구현 보고 04_BT5-Dev_2단계_구현보고.md - PD 수동 4건 남음 (AttackHitbox·Enemy Health·Play 검증·Animator trigger) BT6-Plan Phase 3-B (기획팀 6개 전문 에이전트 병렬 · 14문서 2224 라인 · 기각 53건): - narrative 3종: 마을 안개골·보스 3종·해학 60/민속 30/공포 10 - system 2종: 카드 3티어·특성 A/B/C 3축·오행 태그 - content 3종: 카드 32·아이템 파츠 5종 21예시·특성 15종 - level 2종: 스테이지 5·보스 3 3페이즈 - balance 2종: 이동 6.0·i-frame 0.6s·XP 80+Lv×20 - ux 2종: 가상 스틱+버튼·HUD 3순위·Tier 2 편입 후보 PM 자진 정정: - feedback_pm_dev_task_delegation_failure.md 신설 (Unity MCP PD 전가 패턴 재발 방지) - pm-auditor Critical 6·Major 4 지적 반영: · 기각안 59→53건 실측 정정 (C5 정직성) · 라인수 2350→2224 정정 · BT6-Plan 진행중 복귀 (commit 후 아카이브 이동) · 개발팀 로그 BT5-Plan 오등록 제거 · 2026-04-22.md narrative-designer 일자 오판 정정 주석 · audit_pattern_analysis placeholder 정리 매니페스트: 2026-04-23_BT5BT6_일괄commit (27건) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-22 17:19:47 +00:00
---
type: 상세_기획
scope: HUD_설계
author: ux-designer
date: 2026-04-23
version: v0.1 (Phase 3-B)
project: EerieVillage
phase: Phase 3-B
data_source: BT5-Plan 02_코어_루프 v0.1 + 04_전투_기본_스펙 v0.1
status: 확정 골격 — 세부 레이아웃 수치는 개발팀 협의
---
# 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. **사망 연출**: 1~2초 (캐릭터 소멸 애니메이션)
2. **결과 표시**: "런 종료 / 레벨 N 도달 / 획득 경험 N" 1화면. 심플하게
3. **마을 복귀**: 로딩 느낌 없이 Additive Load 씬 전환 (VillageScene 상시 유지 방식)
4. **유지 자산 확인**: 마을 복귀 직후 아이템·특성 유지 표시 → 낙차 후 안도 제공
**인지 목표**: 사망부터 다음 스테이지 선택까지 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. 기각안
1. **"미니맵 HUD 포함" — 기각.** 2D 횡스크롤 플랫포머에서 미니맵 정보 밀도가 손맛·집중을 저해. 스테이지 구조는 선형 진행 설계로 방향 혼란 없음. 추가 필요 시 Phase 3-C 재검토.
2. **"카드 슬롯 상시 크게 표시" — 기각.** 카드 슬롯은 빌드 확인 보조 정보. 전투 중 시선 분산 유발. 반투명 소형으로 유지하되 일시정지 시 풀 표시.
3. **"시간 제한 카드 픽" — 기각.** 캐주얼 포지션. 시간 제한은 긴장을 주지만 카드 텍스트 읽기 방해 → 빌드 이해도 하락 → 재미 축 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 |