Loading...
잠시만 기다려 주세요.
UAttributeSet은 C++로만 생성 가능하며, FGameplayAttributeData 구조체를 멤버 변수로 사용하여 스탯을 관리합니다. 📊FGameplayAttributeData는 BaseValue(영구적)와 CurrentValue(임시적)를 포함하여 스탯 변화를 체계적으로 관리합니다. 🔄Health와 MaxHealth처럼 최대값을 보조하는 애트리뷰트를 함께 선언하는 것이 권장됩니다. 📈PreAttributeChange 함수를 오버라이드하여 애트리뷰트 값이 변경되기 전에 유효성 검사 및 범위 제한 로직을 구현합니다 (예: 헬스 0~맥스헬스, 맥스헬스 >= 1). 🛡️PostAttributeChange 함수를 오버라이드하여 애트리뷰트 값 변경 후 UI 갱신 등 관련 컴포넌트에 알림을 보낼 수 있습니다. 🔔ATTRIBUTE_ACCESSORS_BASIC 매크로를 사용하여 애트리뷰트의 게터/세터 함수를 자동으로 생성할 수 있습니다. 🛠️UAbilitySystemComponent (ASC)에 애트리뷰트 세트를 등록하고, 액터의 PostInitializeComponents 함수에서 UI 위젯과 애트리뷰트 세트를 연동하는 것이 권장됩니다. 🔗UGameplayEffect는 게임플레이 어빌리티가 액터에게 발동하는 효과를 정의하는 데이터 에셋으로, 블루프린트 에디터에서 로직 없이 기본값 설정만으로 구성됩니다. ⚡Instant 타입 게임플레이 이펙트는 즉시 효과를 적용하며, 주로 애트리뷰트의 BaseValue를 직접 변경합니다. 🚀Modifier 섹션에서 대상 애트리뷰트(Health), 연산자(Add), 값(-80)을 설정하여 스탯 변화를 정의합니다. ➖Apply Gameplay Effect to Target 노드를 사용하여 게임플레이 어빌리티에서 타겟 액터에게 게임플레이 이펙트를 발동시킬 수 있습니다. 🎯UAttributeSet의 PostGameplayEffectExecute 함수를 오버라이드하여 게임플레이 이펙트에 의한 애트리뷰트 변경 후 최종 로직(예: 헬스 0 이하 시 죽음 처리)을 구현합니다. 💀UGameplayAbility로 구현하며, PlayMontageAndWait 태스크로 죽음 애니메이션을 재생하고, Character.Death 게임플레이 태그를 사용하여 다른 어빌리티의 발동을 막습니다. 🚫PostGameplayEffectExecute에서 헬스 값이 0 이하가 되면 OnOutOfHealthValue 델리게이트를 브로드캐스트하여 죽음 이벤트를 알리고, 공격한 액터 정보를 전달할 수 있습니다. 👻Recommanded Videos

2025. 3. 7.

2024. 12. 5.

2025. 12. 5.

2025. 3. 1.

2025. 6. 11.

2024. 9. 23.