본문으로 건너뛰기
Unreal Engine GAS(Gameplay Ability System) 심화LESSON 44

최종 실습 2: 전투 Ability 네 종 완성

난이도심화
예상 시간260분
선수지식43강의 Attribute 전투 기반

44강. 최종 실습 2: 전투 Ability 네 종 완성

1. 이번 강의에서 해결할 문제​

전투 Ability를 각각 작동시키는 것만으로는 완성된 시스템이 아닙니다. 부여 데이터, 입력 Tag, Cost·Cooldown, TargetData, 서버 판정, Cue가 같은 규칙을 사용해야 하며 사망·재Spawn 때 중복되지 않아야 합니다.

2. 학습 목표​

3. 핵심 개념​

GA_BasicAttack은 Montage Event 시점에 서버 Trace를 검증하고 데미지 Effect를 적용합니다. GA_Dash는 이동 표현을 예측하되 충돌·Cost·Cooldown을 서버가 승인합니다. GA_FireProjectile은 클라이언트 조준 TargetData를 서버가 검증하고 권한 투사체를 Spawn합니다. GA_Heal은 자기 대상 Effect로 Health를 회복합니다.

4. 구현​

GASAbilitySet.h
USTRUCT(BlueprintType)
struct FGASAbilityEntry
{
GENERATED_BODY()

UPROPERTY(EditDefaultsOnly)
TSubclassOf<UGameplayAbility> AbilityClass;

UPROPERTY(EditDefaultsOnly)
FGameplayTag InputTag;

UPROPERTY(EditDefaultsOnly, meta=(ClampMin="1"))
int32 AbilityLevel = 1;
};

UCLASS(BlueprintType)
class GASDEMO_API UGASAbilitySet : public UPrimaryDataAsset
{
GENERATED_BODY()

public:
UPROPERTY(EditDefaultsOnly)
TArray<FGASAbilityEntry> Abilities;
};
서버 부여 시 입력 Tag 연결
FGameplayAbilitySpec Spec(Entry.AbilityClass, Entry.AbilityLevel);
Spec.GetDynamicSpecSourceTags().AddTag(Entry.InputTag);
const FGameplayAbilitySpecHandle GrantedHandle = ASC->GiveAbility(Spec);
OutGrantedHandles.Add(GrantedHandle);

데이터 에셋에는 Input.Attack.Primary, Input.Movement.Dash, Input.Ability.Projectile, Input.Ability.Heal을 배치합니다. 입력 컴포넌트는 Tag pressed/released를 ASC에 전달하고 Ability 클래스 이름을 직접 비교하지 않습니다. UE5 마이너 버전에 따라 Dynamic Spec Tag 접근 API가 달라질 수 있으므로 현재 GameplayAbilities 헤더를 확인합니다.

Ability예측서버 확정지속 상태
BasicAttackMontage/CueTrace·DamageCost·Cooldown
Dash입력 반응/표현Commit·충돌 규칙Cooldown
FireProjectile조준 프리뷰Target 검증·Spawn·DamageCost·Cooldown
Heal즉시 UI 예고 선택Heal Effect 적용Health Attribute

5. 코드가 동작하는 이유​

AbilitySet은 무엇을 부여할지, ASC는 어떤 입력 Tag가 눌렸는지, 각 Ability는 어떻게 실행할지를 분리합니다. 네 Ability 모두 영구 결과를 Effect/Attribute로 남기므로 Cue 유실이나 UI 재생성에도 전투 상태가 보존됩니다.

6. 실패 사례와 해결​

7. 직접 실습​

8. 이해 점검 질문 3개​

9. 핵심 요약​

MINI QUIZ

최종 실습 2: 전투 Ability 네 종 완성 미니 퀴즈

선택 즉시 정답과 해설을 확인할 수 있습니다. 결과는 이 브라우저에만 저장됩니다.

0 / 2
  1. 문제 1“최종 실습 2: 전투 Ability 네 종 완성”의 역할과 의존성을 판단하는 올바른 기준은 무엇인가요?
  2. 문제 2‘Attack Montage Notify마다 데미지 중복’ 상태에 관한 “최종 실습 2: 전투 Ability 네 종 완성” 본문의 설명으로 가장 알맞은 것은 무엇인가요?
LESSON STATUS

학습을 마쳤나요?

직접 실습과 점검 질문까지 확인한 뒤 완료로 표시하세요.

44강. 최종 실습 2: 전투 Ability 네 종 완성 미완료 상태