내일배움캠프-언리얼

TIL - 89

이시보 2026. 6. 11. 21:21

GA_Attack / GA_Burst 버그 수정

1. 3타 콤보 끝 무렵 버스트 사용 시 State.Attack 잔존 버그

증상: GA_Attack 3타가 끝나갈 때 버스트를 쓰면 State.Player.Attacking 태그가 안 사라져 이후 공격 입력이 막힘.

원인: 마지막 타가 블렌드아웃 중일 때 버스트 몽타주가 끼어들면 GA_Attack의 몽타주 콜백(OnCompleted/OnInterrupted)이 발동되지 않아 EndAbility가 호출되지 않음 → 좀비 어빌리티 상태로 태그 잔존.

수정:

  • GA_Attack.cpp — 몽타주 태스크 생성 시 bAllowInterruptAfterBlendOut=true 전달. 블렌드아웃 중 인터럽트돼도 OnInterrupted → EndAbility가 호출되어 태그 정리.
  • GA_Burst.cppCancelAbilitiesWithTagAbility_Player_Attack, Ability_Player_HeavyAttack 추가. 버스트 발동 시 활성 공격 어빌리티를 즉시 캔슬해 타이밍 의존 제거 (보강).

2. 버스트 시전 중 피격 시 hit reaction으로 버스트가 끊기는 버그

요구사항: 버스트 실행 중에는 데미지는 입어도 hit reaction은 발동하지 않도록.

구조 확인: 데미지(CombatAttributeSetSetHealth)와 hit reaction(UHitReactionComponentGameplayEvent.Hit 수신 → 몽타주 + 어빌리티 캔슬)은 완전히 분리됨. 따라서 reaction 소비 지점만 막으면 데미지는 정상 적용.

수정 (HitReactionComponent):

  • .hReactionSuppressionTags(FGameplayTagContainer, EditDefaultsOnly) 멤버 추가.
  • .cpp 생성자 — 기본값으로 State.Player.Bursting 등록.
  • .cpp HandleHitEvent — 진입 시 오너 ASC가 억제 태그를 가지면 early-return → 몽타주 재생/어빌리티 캔슬 모두 건너뜀. 데미지는 이 이벤트와 무관하게 먼저 적용됨.

'내일배움캠프-언리얼' 카테고리의 다른 글

TIL - 91  (0) 2026.06.16
TIL - 90  (0) 2026.06.15
TIL - 88  (1) 2026.06.10
TIL - 87  (0) 2026.06.09
TIL - 86  (0) 2026.06.08