BurningTimesAi/프로젝트/EerieVillage/기획/ux/01_모바일_터치_UX.md

113 lines
5.9 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: 모바일_터치_UX
author: ux-designer
date: 2026-04-23
version: v0.1 (Phase 3-B)
project: EerieVillage
phase: Phase 3-B
data_source: BT5-Plan 04_전투_기본_스펙 v0.1 + BT5-Dev 03_게임_제작_준비
status: 확정 골격 — 수치 실측은 balance-designer + 개발팀 협의
---
# 01. 모바일 터치 UX
## 1. 재미 축 연결 (P30)
본 스킴이 강화하는 재미: **축 2 "액션 플랫포머 손맛"**. 가상 스틱·버튼의 즉각 반응(0.1초 이내)과 오입력 최소화 레이아웃이 이동·점프·공격의 체감 직결 요소다.
## 2. 조작 스킴 확정
| 액션 | PC 입력 | 모바일 입력 | 비고 |
|------|---------|------------|------|
| **이동** | WASD/방향키 | 좌측 가상 스틱 | 엄지 자연 안착 영역 |
| **점프** | Space | 우측 점프 버튼 | 오른 엄지 도달 상단 |
| **공격** | 마우스 좌클릭 | 우측 공격 버튼 | 오른 엄지 도달 하단 |
**결정 근거**: 04_전투_기본_스펙 §2 확정 스킴 계승. 단일 근거리 공격 1종으로 파일럿 시작 (공격 버튼 복수 기각안 계승).
## 3. 버튼 레이아웃 (화면 분할)
```
┌──────────────────────────────┐ ← 화면 상단 (HUD 영역)
│ [HUD] │
├──────────────────────────────┤
│ │
│ 플레이 영역 │
│ │
├────────────┬─────────────────┤
│ [가상스틱] │ [점프] [공격] │ ← 입력 영역
│ 왼손 엄지 │ 오른손 엄지 │
└────────────┴─────────────────┘
Safe Area (Home Indicator 회피)
```
- **가상 스틱 반지름**: 기본 60dp (BT 실측 전 후보값). 조이스틱 중심은 터치 다운 위치 추종
- **점프 버튼**: 우측 상단. 오른 엄지 자연 신전 위치
- **공격 버튼**: 우측 하단. 오른 엄지 굴곡 위치. 점프보다 크게 배치 (주요 인터랙션)
- **투명도**: 기본 70%, 입력 시 100% (비활성 구분 피드백)
- **Safe Area**: 노치(iOS) · 상태표시줄(Android) 상단 + Home Indicator/제스처바 하단 회피 의무 → SafeAreaBorder 컴포넌트 신규 구현 필요 (BT.Framework Tier 2 이관, §6 참조)
## 4. 입력 시스템 설계
Unity **Input System 액션 맵** 기반:
- `Move` (Value, Vector2) — 가상 스틱 → PC 키보드 WASD 동시 지원
- `Jump` (Button) — 점프 버튼 → Space
- `Attack` (Button) — 공격 버튼 → 마우스 좌클릭
**UITouchHandler** (BT.Framework Tier 2 신규 구현 예정): 가상 스틱 드래그 감도·데드존 처리 로직 캡슐화. 구현 전까지는 Unity OnScreenStick 임시 사용.
**즉각 반응 의무**: Input 감지 후 0.1초 이내 캐릭터 반응. 지연 시 플레이어가 입력 불인식으로 오인 (C7 피드백 원칙).
## 5. 피드백 설계
### 5-1. 피격 피드백 (3종 의무, 04_전투_기본_스펙 §6 계승)
| 피드백 종류 | 내용 | 인지 목표 |
|-------------|------|----------|
| **시각** | 화면 테두리 붉은 섬광 + 캐릭터 깜박임(i-frame 표시) | 0.3초 이내 인지 |
| **청각** | 피격 SFX (사운드팀 명세) | 즉시 인지 |
| **진동 (모바일)** | 짧은 진동 1회 (~80ms) | 즉각 체감 |
### 5-2. i-frame(무적 시간) 표시
- 피격 후 N ms 동안 캐릭터 스프라이트 **깜박임** (점멸 주기 80~120ms 후보)
- 깜박임 종료 = 무적 해제 → 플레이어 학습 가능한 시각 언어
- N 수치 (400~800ms)는 balance-designer + 개발팀 실측 확정
### 5-3. 버튼 입력 피드백
- 버튼 눌림 시 시각적 눌림 애니메이션(스케일 축소 0.9x, 50ms) 의무
- **성공 공격 적중** 시 짧은 진동 1회 (~40ms) — 손맛 강화 (재미 축 2)
## 6. BT.Framework 재사용 매핑
| BT.Framework | 활용 용도 | 구현 시점 |
|---|---|---|
| **Log** | 입력 이벤트 디버그 로그 | Tier 1 P0 즉시 |
| **ValidationEx** | 버튼 null 체크·스틱 범위 검증 | Tier 1 P0 즉시 |
| **MathEx** | 스틱 감도·데드존 보정 연산 | Tier 1 P0 즉시 |
| **SafeAreaBorder** | Safe Area 패딩 자동 적용 | Tier 2 신규 구현 후 |
| **UITouchHandler** | 스틱 드래그·버튼 멀티터치 처리 | Tier 2 신규 구현 후 |
| **BackKeyDispatcher** | Android 뒤로가기 키 → 일시정지 메뉴 | Tier 2 신규 구현 후 |
Tier 2 3종 미구현 상태 (BT5-Dev 3단계 실측 확인 — `Runtime/UI/Components/` 빈 디렉토리). 개발팀 이관 항목.
## 7. 기각안
1. **"스와이프 회피 제스처" — 기각.** 캐주얼 포지션에서 스와이프는 이동 입력과 오입력 충돌 위험 과다. 라이프 1 전제에서 오입력 즉사는 재미 축 2 붕괴. 회피 메커니즘 도입은 PD 결정 대상 (04_전투_기본_스펙 §7 보류 계승).
2. **"고정 위치 가상 스틱" — 기각.** 터치 다운 위치 추종 방식이 다양한 그립 스타일 수용성 높음. 고정 위치는 손 크기·그립 편차로 오입력 증가.
3. **"버튼 비표시(보이지 않는 탭 영역)" — 기각.** 버튼 시각 피드백 부재는 입력 성공 여부 불확실성 유발. 플레이어가 입력이 먹혔는지 의심하게 만들어 C7 피드백 원칙 위반.
## 8. 개발팀 이관 항목
- SafeAreaBorder · UITouchHandler · BackKeyDispatcher 컴포넌트 신규 구현 (BT.Framework Tier 2 승격 후 EerieVillage 편입)
- Input System 액션 맵 에셋 생성 + PC/모바일 바인딩 구성
- 피격 진동 Unity Handheld.Vibrate() 또는 플랫폼별 Haptic 구현
## 9. 변경 이력
| 일시 | 변경 | 사유 | 기안 |
|------|------|------|------|
| 2026-04-23 | v0.1 Phase 3-B 초기 확정 | BT6-Plan PD 지시 | ux-designer |