inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템

8강 : 어트리뷰트와 UI 연동

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

해결된 질문

107

임성우

작성한 질문수 16

0

GE만 단독으로 동작시킬 때는 컨텍스트 핸들을 따로 만들어주고서 , 스팩핸들을 제작해주는데, 그에 반해

GA에서 GE를 동작시킬때는 스팩핸들만 제작해주는데, 그 이유가 GA가 이미 컨텍스트 핸들을 만들어줬기 때문일까요?

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

답변 2

0

이득우

네 맞습니다.
UAbilitySystemComponent::MakeOutgoingSpec은 핸들을 직접 만들어 넘겨줘야 하는데 UGameplayAbility::MakeOutgoingGameplayEffectSpec 함수 호출시에는 함수 내부에서 직접 핸들을 만들기 때문입니다.

0

임성우

MakeOutgoingGameplayEffectSpec 함수는 Context , Spec Handle 둘다 제작해주지만, MakeOutgoingSpec함수는 Spec Handle만 제작해주기 때문에
따로 Context Hanlde을 수동으로 만들어준거죠?

0

이득우

관련해서 소스 코드를 한번 살펴보는 것을 추천드립니다. GAS는 계속 바뀌고 있는 플랫폼이라 제가 이야기해도 버전업되면 바뀔수도 있어 F12눌러 직접 파악해 보시는게 좋을 것 같아요.

0

인프런 AI 인턴

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

질문하신 내용은 언리얼 엔진의 Gameplay Ability System(GAS)에서의 GE(Gameplay Effect)와 GA(Gameplay Ability)의 작동 방식에 대한 이해가 필요한 부분입니다. GE만 단독으로 사용할 때 컨텍스트 핸들을 만들어주는 이유는 특정 상황이나 대상에 따라 GE의 효과를 조정하기 위해서입니다. 반면, GA에서 GE를 사용할 때는 GA 자체가 해당 컨텍스트 정보를 이미 갖고 있으므로 별도의 컨텍스트 핸들 없이 스팩 핸들만으로 GE를 작동시킬 수 있습니다.

이를 통해 GA는 더 복잡하고 상황에 맞는 효과를 게임 내에서 구현하는 데 용이해집니다. GA 내부에서 GE를 호출하면, GA가 처리 중인 대상과 관련된 정보를 이미 포함하고 있기 때문에, GE는 추가적인 정보를 요구하지 않고 바로 실행될 수 있습니다.

비슷한 주제와 관련된 기존 질문과 답변이 유용할 수 있습니다. 아래의 URL을 확인해 보시기 바랍니다:

  1. 언리얼 엔진에서 GE와 GA의 작동 방식 차이

이 답변은 게임플레이 태그와 GAS의 구조나 작동 방식에 대한 자세한 설명을 담고 있습니다.

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

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

0

36

1

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

0

42

1

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

0

84

2

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

0

80

2

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

0

73

2

AnimNotify 구현 질문

0

101

2

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

0

76

2

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

0

111

2

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

0

77

2

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

0

63

2

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

0

83

2

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

0

144

3

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

0

130

2

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

0

83

2

ABP의 skeleton 오류

0

113

1

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

0

170

2

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

0

255

2

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

0

224

2

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

0

281

3

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

0

206

2

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

0

121

1

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

0

128

2

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

0

153

2

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

0

116

2