---
type: 상세_기획
scope: 모바일_터치_UX
author: ux-designer
date: 2026-04-24
version: v0.2 (BT7-Plan 개정)
project: EerieVillage
phase: Phase 3-B
data_source: 04_전투_기본_스펙.md v0.2 + BT5-Dev 03_게임_제작_준비 + BT7-Plan PD 확정 방향 11건
status: BT7-Plan 개정 반영 — 공격 버튼 제거·VS 순수형 스킴
---

# 01. 모바일 터치 UX

## 1. 재미 축 연결 (P30)

본 스킴이 강화하는 재미: **축 2 "보며 즐기는" 액션 플랫포머**. 이동·점프의 즉각 반응(0.1초 이내)과 오입력 최소화 레이아웃이 회피·포지셔닝 스킬의 체감 직결 요소다. 공격 입력 제거로 조작 복잡도 감소 → 액티브 자동 발동 감상 재미에 집중.

## 2. 조작 스킴 확정 (BT7-Plan 재작성)

**BT7-Plan 확정 방향 2 — VS 순수형**: 공격 버튼 제거, 이동·점프만.

| 액션 | PC 입력 | 모바일 입력 | 비고 |
|------|---------|------------|------|
| **이동** | WASD/방향키 | 좌측 가상 스틱 | 엄지 자연 안착 영역 |
| **점프** | Space | 우측 점프 버튼 | 오른 엄지 도달 영역 |

**결정 근거**: 04_전투_기본_스펙 v0.2 §2 계승. 플레이어 수동 공격 입력은 존재하지 않음. 장착한 액티브 카드가 자동 발동.

## 3. 버튼 레이아웃 (화면 분할)

```
┌──────────────────────────────┐  ← 화면 상단 (HUD 영역)
│         [HUD]                │
├──────────────────────────────┤
│                              │
│   플레이 영역                │
│                              │
├────────────┬─────────────────┤
│  [가상스틱] │      [점프]      │  ← 입력 영역 (공격 버튼 제거)
│  왼손 엄지  │   오른손 엄지    │
└────────────┴─────────────────┘
             Safe Area (Home Indicator 회피)
```

- **가상 스틱 반지름**: 기본 60dp (BT 실측 전 후보값). 조이스틱 중심은 터치 다운 위치 추종
- **점프 버튼**: 우측 중앙. 오른 엄지 자연 도달 영역. **공격 버튼 제거로 단독 대형 배치** (시인성·터치 성공률 상승)
- **투명도**: 기본 70%, 입력 시 100% (비활성 구분 피드백)
- **Safe Area**: 노치(iOS) · 상태표시줄(Android) 상단 + Home Indicator/제스처바 하단 회피 의무 → SafeAreaBorder 컴포넌트 신규 구현 필요 (BT.Framework Tier 2 이관, §6 참조)

## 4. 입력 시스템 설계 (BT7-Plan 간소화)

Unity **Input System 액션 맵** 기반:
- `Move` (Value, Vector2) — 가상 스틱 → PC 키보드 WASD 동시 지원
- `Jump` (Button) — 점프 버튼 → Space

**Attack 액션 제거** (BT7-Plan 확정 방향 2). 액티브 카드의 자동 발동은 게임 내부 타이머에 의해 처리되며 플레이어 입력 체계와 분리됨.

**UITouchHandler** (BT.Framework Tier 2 신규 구현 예정): 가상 스틱 드래그 감도·데드존 처리 로직 캡슐화. 구현 전까지는 Unity OnScreenStick 임시 사용.

**즉각 반응 의무**: Input 감지 후 0.1초 이내 캐릭터 반응. 지연 시 플레이어가 입력 불인식으로 오인.

## 5. 피드백 설계

### 5-1. 피격 피드백 (3종 의무, 04_전투_기본_스펙 v0.2 §6 계승 + 피해량별 차등)

| 피드백 종류 | 내용 | 인지 목표 |
|-------------|------|----------|
| **시각** | 화면 테두리 붉은 섬광 + 캐릭터 깜박임(i-frame 표시) + **하트 UI 쿼터 분할 애니메이션** | 0.3초 이내 인지 |
| **청각** | 피격 SFX (피해량별 차등) | 즉시 인지 |
| **진동 (모바일)** | 피해량별 진동 차등 (§5-3 참조) | 즉각 체감 |

**피해량별 차등 (BT7-Plan 하트 분할 구조 반영)**:
- 피해 1 (1쿼터): 짧은 진동 40ms + 테두리 연한 섬광
- 피해 2 (반 하트): 중간 진동 80ms + 테두리 중간 섬광
- 피해 3 (3/4 하트): 긴 진동 120ms + 테두리 강한 섬광
- 피해 4 (하트 전소): 강한 진동 160ms + 테두리 최대 섬광 + 화면 살짝 흔들림

### 5-2. i-frame(무적 시간) 표시

- 피격 후 0.6초 동안 캐릭터 스프라이트 **깜박임** (점멸 주기 80ms, 7.5회)
- 깜박임 종료 = 무적 해제 → 플레이어 학습 가능한 시각 언어
- P19 심안 패시브 적용 시 0.8초까지 연장 가능 (깜박임 횟수 10회)

### 5-3. 버튼 입력 피드백 (BT7-Plan 재정의)

- 버튼 눌림 시 시각적 눌림 애니메이션(스케일 축소 0.9x, 50ms) 의무 (점프 버튼)
- **공격 버튼 관련 진동 제거** (버튼 자체 폐기)
- **액티브 무기 발동 시 짧은 진동 1회 (~40ms)** — 자동 발동 체감 피드백 (BT7-Plan 재정의)
- **적중 시 히트스탑 3프레임 (50ms)** + 짧은 진동 1회 — 자동 발동이어도 타격감 유지

## 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종 미구현 상태. 개발팀 이관 항목.

## 7. 기각안

1. **"스와이프 회피 제스처" — 기각 (현행 유지).** 캐주얼 포지션에서 스와이프는 이동 입력과 오입력 충돌 위험 과다. 회피 메커니즘 도입은 Phase 3-C.
2. **"고정 위치 가상 스틱" — 기각 (현행 유지).** 터치 다운 위치 추종 방식이 다양한 그립 스타일 수용성 높음.
3. **"버튼 비표시(보이지 않는 탭 영역)" — 기각 (현행 유지).** 버튼 시각 피드백 부재는 입력 성공 여부 불확실성 유발.
4. **"공격 버튼 복수 배치(약공·강공)" 기각 — 의미 변화 (BT7-Plan).** 원 기각 근거는 "파일럿 근거리 1종 시작"이었으나 BT7-Plan에서 **공격 버튼 자체 폐기**로 의미 근본 변화. 복수 버튼 배치는 논의 대상 자체 소멸. **기각안 유지(번복 기록)**.
5. **"공격 버튼 유지 + 자동 발동 병행" — 기각 (BT7-Plan 신규).** PD 확정 방향 2 "VS 순수형 (이동·점프만)" 명시. 병행은 조작 복잡도 증가 + VS 원작 감상 재미 저해.
6. **"커스터마이즈 버튼 위치 기본 제공" — 기각 (현행 유지).** 파일럿 스코프에서는 기본 레이아웃만. Phase 3-C 설정 메뉴 도입 시 재검토.

## 8. 개발팀 이관 항목

- SafeAreaBorder · UITouchHandler · BackKeyDispatcher 컴포넌트 신규 구현 (BT.Framework Tier 2 승격 후 EerieVillage 편입)
- Input System 액션 맵 에셋 생성 + PC/모바일 바인딩 구성 (**Attack 액션 제거**)
- 피격 진동 Unity Handheld.Vibrate() 또는 플랫폼별 Haptic 구현 (피해량별 차등)
- 액티브 발동 진동 피드백 통합 (Unity Haptic)

## 9. 변경 이력

| 일시 | 변경 | 사유 | 기안 |
|------|------|------|------|
| 2026-04-23 | v0.1 Phase 3-B 초기 확정 | BT6-Plan PD 지시 | ux-designer |
| 2026-04-24 | v0.2 — BT7-Plan 개정 집행 — PD 지시 11건 반영 (공격 버튼 제거·VS 순수형·Attack 액션 제거·피해량별 진동 차등) | 기획팀장 |
