메카닉 딥다이브 프로젝트 일지: 4일차

March 27, 2026 (1mo ago)

0 views

오늘 목표

  • 공격 콤보 모두 연결
    • 공격 시퀀스마다 이동처리
  • 닷지 구현
    • 방향별 닷지
    • 공격 중 닷지 가능 구간 처리
  • 대미지 시스템 처리
    • 한 번만 대미지 처리 되면 좋은 것:
  • 공격 중 회전 처리
  • 락온 기능 구현
    • Strafing 애니메이션
    • 락온 상태 닷지는 점프로 분리

공격 콤보

콤보 전투에서 중요한 것:

  • 입력 반응성
  • 거리 보정
  • 추적 회전
  • 캔슬 타이밍 루트모션을 사용하면 애니메이션이 이동을 주도해 보기엔 자연스럽지만 전투로직과 충돌할 가능성이 많아짐

AI가 제안하는 방식:

  • 기본 이동: CharacterMovement 컴포넌트 사용
  • 공격 추적: 타겟 방향으로 회전 보정
  • 공격 전진: AnimNotify 또는 Curve 타이밍에 맞춰 전진력 적용
  • 거리 보정: 첫 타 입력 시 사거리 안이면 살짝 붙여주는 어시스트
  • 콤보 연결: 몽타주 섹션 전환과 입력 버퍼로 처리
  • 각 공격 데이터 에셋에 ForwardMoveDistance, ForwardMoveTime, TurnRate, CanTrackTarget 같은 값 두고 활용하기

AnimNotify BP 추가

몽타주마다 계속 새 노티파이 추가하는 것만큼 미련한 짓이 없음 더 똑똑한 방법 알려달라고 하니까 AnimNotify Class가 있네

/Gameplay/Combat/InterfacesBPI_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에 타격 관련 기능을 추가해야함

눈에 밟히는 것(개선사항)

  • 마네킨이 칼을 쥐지 못함
  • 마네킨이 칼 사용을 베는게 아니라 경광봉 휘두르는 것 같음