“춤 → 공격” 게이트, 공격은 ServerRPC로만 동기화
폴가이즈 느낌의 충돌·튕김, 물 체력 패널티, 유령(GameOver) 모드까지 흐름 확정
애니 동기화: Dance, Attack, Slide, Glide, Swim, Walk, Run, Idle
공격 동기화: 반드시 ServerRPC → 서버에서 히트 판정/넉백 결정 → Multicast로 연출
공격 조건: 춤을 춰야만 공격 가능(Dance → Attack)
데미지: 공격 기본 20 (추후 조정)
아이템/특수 스킬: 캐릭터만 사용 가능(NPC 불가)
걷는 소리: 로컬 플레이어만 재생(다른 플레이어에겐 무음)
콜리전: 폴가이즈 감성(통통한 캡슐) — 정확 수치 미정(프로토타입 후 확정)
이펙트: 충돌 시 시각 효과는 나중에 연결(훅만 확보)
Idle/Walk/Run
└─(물 진입)→ Swim
└─(점프 중 입력)→ Glide
└─(Dance키)→ Dance ──(Attack키)→ Attack ──(OnHit)→ Slide(짧게 밀림) → 이동상태 복귀
이동/회전/점프: 기본 복제(클라 예측 OK)
공격: 클라 입력 → ServerRPC(서버 권위)
서버: “지금 Dance인지” 검증 → 히트/데미지/넉백 계산 → Multicast(애니/이펙트 공유)
슬라이드/튕김: 충돌(OnHit) 시 서버가 Impulse/Launch 결정 → Multicast
발소리: AnimNotify에서 IsLocallyControlled() 체크 후 본인만 재생
물: 일정 시간 이상 머무르면 주기적 체력 감소(틱 타이머, 감소량/주기 미정)
GameOver: 체력 0 → 유령 상태
충돌/상호작용 Off, Replication 안 됨, 1인칭으로 맵 자유 이동
네트워크 뼈대: 이동 복제/테스트, Dedicated Server로 2~3인 확인
상태 변수/게이트: Dance 플래그, “Dance일 때만 Attack 허용”
AnimBP: 각 상태 전이, 발소리(로컬만)
공격 파이프: ServerRPC → 서버 판정 → Multicast 연출
슬라이드/튕김: OnHit에서 반발(상한 클램프), 마찰 낮춰 짧게 미끄러짐
물 페널티: 오버랩 시작/종료 + 서버 타이머로 체력 감소
GameOver: 유령 전환(비복제 Pawn or Spectator), HUD 표시
이펙트/사운드: 훅에 연결(후순위)
핑 100–150ms에서 춤→공격 입력 지연 수용되는지
발소리 타인 무음 확인(멀티캐스트로 뿌리지 않기)
넉백 과도 튐 방지(속도/임펄스 Clamp)
물 페널티 누락/중복 타이머 방지(입수/이탈 정확)
미정/추가 결정 사항
폴가이즈형 캡슐 반경/높이 수치 → 프로토타입 후 픽스
물 페널티 수치/주기, 슬라이드 지속시간/마찰값 튜닝
공격 트레이스(목~허리만): 소켓/본 기준 트레이스로 세분화 예정
Character1
이동/점프/글라이드/수영 Movement & Replication
상태머신용 상태 변수(RepNotify) 관리
공격 ServerRPC / Multicast 근거 로직(히트판정, 넉백)
체력/데미지/사망 → 서버 권위
콜리전(폴가이즈 사이즈) & OnHit 슬라이드/튕김
물 페널티 타이머(서버) & GameOver→Ghost 처리
Character2
Anim BP 상태머신(Idle/Walk/Run/Swim/Glide/Dance/Attack)
Dance→Attack 게이트 UI/HUD 피드백
발소리(본인만), 공격/피격/슬라이드 SFX/VFX 훅
몽타주·노티파이 → 코어 콜백 연동
카메라 흔들림(로컬), 히트 이펙트