inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

2강 : 게임플레이 어빌리티 시스템의 시작

2강 보고 요약 정리해봤는데 검토 부탁드립니다.

해결된 질문

158

임성우

작성한 질문수 16

0

ASC_Actor : ASC 부착된 액터.

GA : ASC_Actor 가 아닌 이곳에서 기능을 구현.

Tag : ASC_Actor 와 GA의 연결다리 (의존성 약화)

[ Tag 사용법 ]

<1> 공용 Tag 헤더파일 선언. (ASC_Actor , GA 모두 보유)

ㄴ 두 태그를 정의함 ( 1.기본태그 2.활성화 유무확인 태그)

<2> " FGameplayTagContainer 생성자(기본태그) " 로 태그객체를 만듬.

<3> TryActivateAbilitiyByTag(태그객체) 다음과 같이 호출해 2번 태그가 부착되는 동시에 기능이 돌아감.

 

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

답변 2

1

이득우

안녕하세요.

정리 방법에는 정답이 없지만 좀 더 서술형으로 재미있게 쓰면 좋지 않을까라는 생각입니다.
너무 간단하게 함축적으로 쓰면, 나중에 돌아볼 때 이해하기가 어려워서요.
미래의 나를 위해 좀 더 시간을 투자해보세요 ㅎㅎ

0

인프런 AI 인턴

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

ASC_Actor와 GA의 역할 및 태그 사용법에 대해 요약해 주셨는데요, 정리하신 내용이 게임플레이 어빌리티 시스템의 핵심 개념을 잘 설명하고 있습니다. 다만, 조금 더 구체적인 설명과 함께 내용을 보완해 보겠습니다.

  1. ASC(Ability System Component)와 ASC_Actor:

    • ASC는 언리얼 엔진의 어빌리티 시스템을 통해 다양한 게임플레이 기능을 처리합니다. ASC_Actor는 이러한 ASC를 부착하여 기능을 관리하는 액터를 의미합니다.
  2. GA(Gameplay Ability):

    • GA는 ASC_Actor가 아닌 독립적인 기능 구현을 담당합니다. 이는 코드의 모듈화와 재사용성을 높이며, ASC_Actor의 복잡성을 줄일 수 있습니다.
  3. Tag:

    • 태그는 ASC_Actor와 GA 간의 연결 다리 역할을 합니다. 태그를 통해 특정 조건이나 상태를 정의하고 이를 기반으로 GA를 활성화할 수 있습니다. 이는 시스템 간 의존성을 약화하고 보다 유연한 설계를 가능하게 합니다.
  4. 태그 사용법:

    • 공용 태그 헤더 파일 선언: ASC_Actor와 GA 모두가 참고할 수 있도록 태그를 정의합니다. 이를 통해 공통적인 상호작용 조건을 설정합니다.

    • FGameplayTagContainer 생성: 정의한 태그로 FGameplayTagContainer 객체를 만듭니다. 이는 태그를 관리하기 위한 기본 컨테이너입니다.

    • TryActivateAbilityByTag: 특정 태그가 부착됐을 때, GA를 실행하도록 설정합니다. 이 함수는 태그를 기반으로 능력을 활성화하는데, 이를 통해 개발자는 보다 직관적으로 게임플레이 로직을 설계할 수 있습니다.

이러한 Tag 기반의 설계는 컴포넌트 간의 결합도를 낮추고, 시스템 확장 및 유지보수를 용이하게 만드는 장점이 있습니다.

질문하신 내용과 유사한 주제를 다루는 기존 답변 링크를 통해 추가 정보를 확인해 보실 수 있습니다:

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

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

0

37

1

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

0

43

1

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

0

85

2

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

0

83

2

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

0

74

2

AnimNotify 구현 질문

0

102

2

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

0

78

2

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

0

112

2

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

0

78

2

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

0

64

2

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

0

84

2

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

0

144

3

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

0

133

2

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

0

84

2

ABP의 skeleton 오류

0

114

1

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

0

173

2

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

0

259

2

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

0

226

2

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

0

282

3

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

0

207

2

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

0

109

2

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

0

124

1

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

0

133

2

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

0

156

2