inflearn logo
강의

Course

Instructor

Lee Deok-woo's Unreal Programming Part 4 - Gameplay Ability System

Lecture 4: Implementing Character Combo Attacks

OnInterruptedCallback()으로 몽타주가 중간에 취소될 경우 CancelAbility를 호출하는게 맞을까요 ?

38

BlackCode

1 asked

0

image.png

지금 OnInterruptedCallback()에서 EndAbility를 호출 하고 마지막 인자만 true로 넣어서 취소 표시만 해주는거 같은데 이렇게 했더니 어빌리티에서 활성화로 넣어준 태그가 중간에 공격을 받거나 다른 상태에 빠져서 애니메이션이 취소가 되면 태그가 사라지지 않는 문제가 생기더라고요. Cancel을 호출하는 식으로 변경해야 되는게 맞을지 궁금해서 남겨둡니다 .

unreal-engine ue-blueprint unreal-engine5 언리얼-c++ gas

Answer 1

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. BlackCode님.

프로젝트에서 OnInterruptedCallback()으로 몽타주가 중간에 취소될 때 EndAbility가 제대로 호출되지 않으면 태그가 유지되는 문제가 발생할 수 있습니다. 이는 어빌리티가 정상적으로 종료되지 않았기 때문입니다.


해결책

EndAbility 대신 CancelAbility를 사용하는 것이 더 적절할 수 있습니다. CancelAbility 함수는 어빌리티를 강제로 취소하며, 모든 상태와 태그를 정리하는 절차가 포함되어 있습니다. 이는 어빌리티가 예상치 못한 상황으로 인해 중단되었을 때 적합한 방법입니다.

  • EndAbility(bool bReplicateEndAbility, bool bWasCancelled): 이 함수는 일반적으로 어빌리티 종료시 호출되며, bWasCancelledtrue로 설정하면 어빌리티가 취소되었음을 명시할 수 있습니다.

  • CancelAbility(): 이 함수는 어빌리티를 강제로 취소하며 관련 상태와 태그를 모두 정리합니다. 일반적으로 인터럽트 상황에서는 CancelAbility를 사용하는 것이 태그 정리에 안정적입니다.


참고 자료


결론적으로, 현재 문제가 어빌리티의 비정상적인 종료로 인해 발생한다면 CancelAbility를 호출하는 것이 적절할 가능성이 높습니다. 이는 태그 정리를 보장하고 예상치 못한 종료 시나리오에 대처하는 데 유리합니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

HasMatchingGameplayTag 역활이 조금 이해가 안갑니다.

0

45

1

캐릭터 스탯 초기 설정 방법 질문

0

87

2

언라얼 공식 홈페이지 튜토리얼 강의에 질문 있습니다

0

85

2

StartAbility, StartInputAbility 둘 다 GiveAbility를 호출해야하나요?

0

77

2

AnimNotify 구현 질문

0

104

2

[6강] ShowDebug에서 Attributes for avater가 변하지 않아요..

0

79

2

4강에서 콤보 공격시 다음 공격을 할 경우 ActivateAbility가 자동으로 발동되는 이유

0

113

2

9강 44:59 부분에서 질문이 있습니다.

0

79

2

8강 24:22 CurrentAttributeSet 질문입니다.

0

66

2

ASC 에서 AttributeSet 함수에 대한 mutable 반환 함수가 없는 이유

0

86

2

SetupGASInputComponent 함수 호출위치가 이해가안갑니다.

0

145

3

[GAS] Player State에 대해 궁금한 점이 있습니다.

0

135

2

AnimNotify를 GA에서 받는방법이 있을까요?

0

85

2

ABP의 skeleton 오류

0

116

1

장판스킬을 만들때 콜리전설정

0

175

2

어빌리티의 쿨다운 GameEffect에 대하여

0

262

2

GAS 구조로 멀티 플레이 게임을 제작할려고 하는데요

0

228

2

5.4버전 기준으로 Remove Gameplay Effect With Tags가 안 보입니다.

0

283

3

8강의 수업 내용들 중 이해가 잘 안가는 부분들이 있습니다.

0

210

2

7강 GE로 NonPlayer의 어트리뷰트셋 값을 초기화시키는 것에 질문이 있습니다.

0

111

2

7강 정리했는데 검토부탁드려요

0

126

1

5강 정리해봤는데 검토부탁드립니다.

0

135

2

4강의 CreateTask 함수 질문입니다,

0

158

2

2강에서 TimerAction함수 질문입니다.

0

121

2