..

BossRaid - Boss Battle Broadcast Content

Concept

고전 포켓몬스터 스타일의 2D 연출을 3D로 구현한 보스 토벌 방송 콘텐츠. 모션캡쳐로 아바타가 공격하면 보스가 피격 리액션을 하고, 체력이 깎이며, 처치 시 승리 연출이 나온다.

Core Flow

[IDLE] → 보스 등장 연출
  → [BATTLE] 아바타 공격 → 피격 판정 → 데미지 표시 → HP 감소
  → [PHASE] HP 일정 이하 → 페이즈 전환 (분노 모드 등)
  → [DEFEAT] HP 0 → 보스 사망 연출 → 승리 화면
  → [RESULT] 결과 / 보상 연출

Visual Style - "허접한 고전게임 3D"

  • 보스 모델: 3D 모델 사용 (별도 전달받음), 단 연출은 고전 2D RPG처럼 단순하고 과장되게
  • 모델 배치/활용은 판때기처럼 정면 위주로 심플하게 운용
  • 피격 시 모델 전체가 흰색 플래시 (포켓몬 피격 느낌)
  • 데미지 숫자가 팝업으로 튀어나옴 (크리티컬은 크게, 빨간색)
  • HP바: 화면 상단 고전 RPG 스타일 (도트 폰트, 보스 이름 표시)
  • 공격 시 화면 흔들림 (Screen Shake)
  • 포켓몬처럼 공격 순간 화면 번쩍 (흰색 플래시 오버레이)

Features

1. Boss System

  • BossData: ScriptableObject (이름, 최대HP, 페이즈 수, 모델 프리팹)
  • BossController: HP 관리, 상태 머신 (Idle/Hit/Rage/Death)
  • BossVisual: 피격 플래시, 흔들림, 사망 연출

2. Hit Detection (듀얼 모드)

두 가지 방식을 모두 지원하여 라이브 방송에서 안정성 확보:

Mode A: 물리 충돌 (Physics)

  • 아바타 손/발에 트리거 콜라이더 부착
  • 보스 히트박스와 충돌 시 데미지 발생
  • 자연스럽지만 모캡 떨림/오차로 오발 가능

Mode B: 수동 이벤트 호출 (Manual/Failsafe)

  • BossController.TakeDamage(amount) 직접 호출
  • Stream Deck 버튼, 키보드 단축키, 또는 EventController에서 트리거
  • 물리 판정이 안 먹힐 때 즉시 대응 가능 (라이브 방송 안전장치)

방송 방어 로직 (Live Safety)

  • 오발 방지: 쿨타임 시스템 (최소 히트 간격 설정, 너무 빨리 때리면 무시)
  • 데미지 캡: 1회당 최대 데미지 제한 (모캡 버그로 연타 시 보스 즉사 방지)
  • 일시정지: Stream Deck/단축키로 전투 Pause → 방송 사고 시 즉시 멈춤
  • HP 잠금: 특정 HP 이하로 안 내려가게 잠금 (연출 타이밍 조절용)
  • 되돌리기: HP를 특정 %로 즉시 복구 (잘못 진행됐을 때)
  • 강제 페이즈: 페이즈 강제 전환 (연출 순서 보장)
  • 강제 처치: 즉시 사망 연출 트리거 (시간 부족할 때)
  • 히트 판정 시 히트스톱 (0.05초 일시정지) → 타격감

3. Damage & HP

  • DamageCalculator: 기본 데미지 + 랜덤 범위
  • 크리티컬 시스템: 일정 확률로 2배 데미지 (연출 강화)
  • HP Bar UI: DOTween으로 부드럽게 감소, 색상 변화 (초록→노랑→빨강)
  • 데미지 팝업: WorldSpace Canvas에 숫자 튀어나옴

4. Phase System

  • Phase 1: 일반 (100%~50%)
  • Phase 2: 분노 모드 (50%~20%) → 보스 색상 변화, BGM 변경, 화면 어두워짐
  • Phase 3: 최후의 발악 (20%~0%) → 보스 떨림, 이펙트 강화
  • 각 페이즈 전환 시 컷인 연출 (화면 분할 + 보스 클로즈업)

5. Effects & Particles

  • 피격 파티클: 별/스파크 튀는 이펙트
  • 크리티컬 파티클: 더 크고 화려한 이펙트 + 화면 흔들림 강화
  • 사망 파티클: 폭발 + 연기 + 별 흩뿌림
  • 승리 파티클: 꽃가루/폭죽
  • 페이즈 전환: 보스 주변 오라/불꽃 이펙트

6. Sound Effects

  • sfx_hit_normal: 일반 피격
  • sfx_hit_critical: 크리티컬 피격 (더 강한 타격음)
  • sfx_hit_miss: 빗나감 / 쿨타임 중
  • sfx_boss_rage: 페이즈 전환 포효
  • sfx_boss_death: 사망 (폭발음 + 비명?)
  • sfx_victory: 승리 팡파레
  • sfx_damage_popup: 숫자 팝업 시 효과음
  • bgm_battle_normal: 전투 BGM
  • bgm_battle_rage: 분노 페이즈 BGM (템포 빠르게)
  • bgm_victory: 승리 BGM

7. UI Elements

  • Boss HP Bar: 화면 상단, 고전 RPG 스타일
  • Boss Name Plate: 도트 폰트로 이름 표시
  • Damage Numbers: 3D 팝업 (중력 적용, 바운스)
  • Phase Indicator: "Phase 2!" 텍스트 연출
  • Victory Screen: "YOU WIN!" + 결과 표시
  • Combo Counter (선택): 연속 타격 횟수 표시

8. Broadcasting Enhancements (방송 특화)

  • 시청자 연동 (미래): 채팅으로 보스 강화/약화, 아이템 지급
  • 도네이션 연동 (미래): 도네이션 시 필살기 게이지 충전
  • 보스 등장 연출: 경고 사이렌 + "WARNING" 텍스트 + 보스 슬라이드 인
  • 결과 화면: 소요 시간, 총 데미지, 크리티컬 횟수, 최대 콤보 등 스탯 표시
  • Stream Deck 연동: 보스 소환, HP 리셋, 페이즈 강제 전환 버튼

Script Structure

Assets/Scripts/Contents/BossRaid/
├── README.md
├── Resources/
│   └── Audio/                   # 효과음/BGM 리소스 (파일명 규칙으로 자동 매핑)
├── Data/
│   └── BossData.cs              # ScriptableObject: 보스 스탯
├── Core/
│   ├── BossRaidManager.cs       # 전체 플로우 관리 (상태 머신)
│   ├── BossController.cs        # 보스 HP, 상태, 페이즈, 수동 TakeDamage API
│   ├── HitDetector.cs           # 모캡 손/발 → 보스 히트박스 충돌 (Mode A)
│   └── BossRaidSafety.cs        # 방송 방어 로직 (쿨타임, 캡, 일시정지, HP잠금, 되돌리기)
├── Visual/
│   ├── BossVisualEffect.cs      # 피격 플래시, 흔들림, 사망
│   ├── DamagePopup.cs           # 데미지 숫자 팝업
│   ├── ScreenEffect.cs          # 화면 흔들림, 플래시, 히트스톱
│   └── PhaseTransition.cs       # 페이즈 전환 컷인 연출
├── UI/
│   ├── BossHPBar.cs             # HP바 UI
│   ├── ComboCounter.cs          # 콤보 카운터
│   └── VictoryScreen.cs         # 승리 결과 화면
├── Audio/
│   └── BossRaidAudio.cs         # 효과음/BGM 관리
└── Editor/
    └── BossRaidEditor.cs        # 인스펙터 커스텀 에디터

Namespace

Streamingle.Contents.BossRaid

Dependencies

  • DOTween or Unity Animation (UI 트윈)
  • TextMeshPro (데미지 숫자, UI 텍스트)
  • Cinemachine (카메라 흔들림 impulse)
  • Existing: OptiTrack/모캡 시스템 (HitDetector 연동)

Priority (구현 순서)

  1. BossData + BossController (HP, 상태)
  2. HitDetector (모캡 충돌 판정)
  3. BossHPBar UI
  4. BossVisualEffect (피격 플래시)
  5. DamagePopup
  6. ScreenEffect (화면 흔들림/플래시)
  7. Audio 시스템
  8. Phase 시스템
  9. 승리 연출
  10. 방송 특화 기능 (Stream Deck 등)