오늘 목표
- 공격 콤보 모두 연결
- 공격 시퀀스마다 이동처리
- 닷지 구현
- 방향별 닷지
- 공격 중 닷지 가능 구간 처리
- 대미지 시스템 처리
- 한 번만 대미지 처리 되면 좋은 것:
- 공격 중 회전 처리
- 락온 기능 구현
- Strafing 애니메이션
- 락온 상태 닷지는 점프로 분리
공격 콤보
콤보 전투에서 중요한 것:
- 입력 반응성
- 거리 보정
- 추적 회전
- 캔슬 타이밍 루트모션을 사용하면 애니메이션이 이동을 주도해 보기엔 자연스럽지만 전투로직과 충돌할 가능성이 많아짐
AI가 제안하는 방식:
- 기본 이동: CharacterMovement 컴포넌트 사용
- 공격 추적: 타겟 방향으로 회전 보정
- 공격 전진: AnimNotify 또는 Curve 타이밍에 맞춰 전진력 적용
- 거리 보정: 첫 타 입력 시 사거리 안이면 살짝 붙여주는 어시스트
- 콤보 연결: 몽타주 섹션 전환과 입력 버퍼로 처리
- 각 공격 데이터 에셋에 ForwardMoveDistance, ForwardMoveTime, TurnRate, CanTrackTarget 같은 값 두고 활용하기
AnimNotify BP 추가
몽타주마다 계속 새 노티파이 추가하는 것만큼 미련한 짓이 없음 더 똑똑한 방법 알려달라고 하니까 AnimNotify Class가 있네
/Gameplay/Combat/Interfaces에 BPI_AnimNotifyReceiver 인터페이스를 만들고
- OnAttackEnd, OnComboWindowOpen/Close, OnHitWindowOpen/Close 명세 추가
그리고 /Gameplay/Combat/AnimationNotifes에
- AN_AttackEnd, AN_ComboWindowOpen/Close, AN_HitWindowOpen/Close 추가
- 각 블루프린트 안에서
Receive Notify오버라이드해서Does Object Implements Interface로 인터페이스 함수 연결해주기
다했으면 플레이어 또는 적 캐릭터 BP에 가서
- Class Settings → Implemented Interfaces에서 방금 만든 인터페이스 추가해주기
- 이벤트 그래프에서 각 노티파이 이벤트에 커스텀 함수들 연결해주기

Smells good
타격 판정
오전에 작성한 스텔라블레이드 언리얼 발표처럼 근접 무기는 우선 소켓 트레이싱으로 만들고, 추후에 범위 공격이 필요하면 그 때 추가하기로 했다
그럴려면 우선 Gameplay/Combat/Components/BPC_CombatCore에 타격 관련 기능을 추가해야함
눈에 밟히는 것(개선사항)
- 마네킨이 칼을 쥐지 못함
- 마네킨이 칼 사용을 베는게 아니라 경광봉 휘두르는 것 같음