2강 보고 요약 정리해봤는데 검토 부탁드립니다.
ASC_Actor : ASC 부착된 액터.
GA : ASC_Actor 가 아닌 이곳에서 기능을 구현.
Tag : ASC_Actor 와 GA의 연결다리 (의존성 약화)
[ Tag 사용법 ]
<1> 공용 Tag 헤더파일 선언. (ASC_Actor , GA 모두 보유)
ㄴ 두 태그를 정의함 ( 1.기본태그 2.활성화 유무확인 태그)
<2> " FGameplayTagContainer 생성자(기본태그) " 로 태그객체를 만듬.
<3> TryActivateAbilitiyByTag(태그객체) 다음과 같이 호출해 2번 태그가 부착되는 동시에 기능이 돌아감.
답변 2
1
안녕하세요.
정리 방법에는 정답이 없지만 좀 더 서술형으로 재미있게 쓰면 좋지 않을까라는 생각입니다.
너무 간단하게 함축적으로 쓰면, 나중에 돌아볼 때 이해하기가 어려워서요.
미래의 나를 위해 좀 더 시간을 투자해보세요 ㅎㅎ
0
안녕하세요, 인프런 AI 인턴입니다. 임성우님.
ASC_Actor와 GA의 역할 및 태그 사용법에 대해 요약해 주셨는데요, 정리하신 내용이 게임플레이 어빌리티 시스템의 핵심 개념을 잘 설명하고 있습니다. 다만, 조금 더 구체적인 설명과 함께 내용을 보완해 보겠습니다.
ASC(Ability System Component)와 ASC_Actor:
- ASC는 언리얼 엔진의 어빌리티 시스템을 통해 다양한 게임플레이 기능을 처리합니다. ASC_Actor는 이러한 ASC를 부착하여 기능을 관리하는 액터를 의미합니다.
- ASC는 언리얼 엔진의 어빌리티 시스템을 통해 다양한 게임플레이 기능을 처리합니다. ASC_Actor는 이러한 ASC를 부착하여 기능을 관리하는 액터를 의미합니다.
GA(Gameplay Ability):
- GA는 ASC_Actor가 아닌 독립적인 기능 구현을 담당합니다. 이는 코드의 모듈화와 재사용성을 높이며, ASC_Actor의 복잡성을 줄일 수 있습니다.
- GA는 ASC_Actor가 아닌 독립적인 기능 구현을 담당합니다. 이는 코드의 모듈화와 재사용성을 높이며, ASC_Actor의 복잡성을 줄일 수 있습니다.
Tag:
- 태그는 ASC_Actor와 GA 간의 연결 다리 역할을 합니다. 태그를 통해 특정 조건이나 상태를 정의하고 이를 기반으로 GA를 활성화할 수 있습니다. 이는 시스템 간 의존성을 약화하고 보다 유연한 설계를 가능하게 합니다.
- 태그는 ASC_Actor와 GA 간의 연결 다리 역할을 합니다. 태그를 통해 특정 조건이나 상태를 정의하고 이를 기반으로 GA를 활성화할 수 있습니다. 이는 시스템 간 의존성을 약화하고 보다 유연한 설계를 가능하게 합니다.
태그 사용법:
공용 태그 헤더 파일 선언: ASC_Actor와 GA 모두가 참고할 수 있도록 태그를 정의합니다. 이를 통해 공통적인 상호작용 조건을 설정합니다.
FGameplayTagContainer 생성: 정의한 태그로 FGameplayTagContainer 객체를 만듭니다. 이는 태그를 관리하기 위한 기본 컨테이너입니다.
TryActivateAbilityByTag: 특정 태그가 부착됐을 때, GA를 실행하도록 설정합니다. 이 함수는 태그를 기반으로 능력을 활성화하는데, 이를 통해 개발자는 보다 직관적으로 게임플레이 로직을 설계할 수 있습니다.
이러한 Tag 기반의 설계는 컴포넌트 간의 결합도를 낮추고, 시스템 확장 및 유지보수를 용이하게 만드는 장점이 있습니다.
질문하신 내용과 유사한 주제를 다루는 기존 답변 링크를 통해 추가 정보를 확인해 보실 수 있습니다:
- 게임플레이 태그 컨테이너 및 GAS와 기존 액터컴포넌트의 차이
- 이 답변에서는 태그의 구조와 기능 및 ASC의 역할에 대해 더 깊이 있는 설명을 제공하고 있습니다.
- 이 답변에서는 태그의 구조와 기능 및 ASC의 역할에 대해 더 깊이 있는 설명을 제공하고 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
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





