GAS_10_Enemy 클래스 생성
·
내배캠/GAS(Gameplay Ability System)
📌 적 캐릭터 생성✅ Enemy 관련 클래스 생성Enemy 관련 (Character, Start Up Data, Gameplay Ability, Combat Component) 클래스를 생성해준다. ✅ Enemy 관련 클래스 구현📍 EnemyCharacter 클래스더보기🔹 EnemyCharacter.h#pragma once#include "CoreMinimal.h"#include "Characters/RPGBaseCharacter.h"#include "RPGEnemyCharacter.generated.h"class UEnemyCombatComponent;UCLASS()class RPG_API ARPGEnemyCharacter : public ARPGBaseCharacter{ GENERATED_BOD..
GAS_09_무기 공격 애니메이션 구현
·
내배캠/GAS(Gameplay Ability System)
📌 Light Attack 콤보 구현도끼 장착시 강공격/약공격 어빌리티를 추가하여 콤보 시스템 구현을 준비한다.1. InputTag / AbilityTag 설정2. GA_LightAttack 능력 생성 및 Tag Setting3. InputAction 생성하고 IMC_Axe에 바인딩4. DA_InputConfig에 InputAction과 Tag 바인딩5. 무기 클래스에 GA와 InputTag 바인딩6. 무기 장착 / 해제 Ability에 Attack Tag 블로킹 처리✅ Light Attack_Input 및 Ability 세팅🔹 RPGGameplayTags.h#pragma once#include "NativeGameplayTags.h"namespace RPGGameplayTags{ /** Input ..
GAS_08_무장 상태에 따른 Ability + IMC 설계
·
내배캠/GAS(Gameplay Ability System)
📌 Unequip Ability 기본 세팅현재까지 시스템을 고려할 때, 새로운 플레이어(Hero) 능력을 추가한다면 아래와 같은 순서로 적용시킬 가능성이 높다.1. Ability Tag 생성2. 새로운 몽타주 생성3. Ability BP 생성4. 이 능력을 부여하기 위한 Ability Input Action 처리이 순서대로 빠르게 Unequip Ability를 세팅해보자. 1. Ability Tag 생성#pragma once#include "NativeGameplayTags.h"namespace RPGGameplayTags{ /** Input Tags */ RPG_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(InputTag_Move); RPG_API UE_DECLARE_GAMEPLAY..
GAS_07_무장 상태 애니메이션 전환 시스템 설계
·
내배캠/GAS(Gameplay Ability System)
📌 애니메이션 전환 시스템한 캐릭터가 여러 종류의 무기(권총, 소총, 저격총 등)를 사용한다고 하면, 각 무기 타입마다 애니메이션이 다를 것이다.이것을 각 무기마다 Anim Graph에 직접 노드를 추가한다면 유지보수가 매우 어려워지게 된다.언리얼의 Lyra 프로젝트의 경우도 무기가 여러 종류가 있는데, "Anim Layer Interface"를 사용해서 각 무기별 애니메이션 로직을 레이어별로 분리하여 처리하였다.이 설계 방향은 무기나 상태 확장에 유연하고 애니메이션 그래프의 복잡도가 크게 감소하게 된다. ✅ Anim Layer Interface 생성 및 적용에디터에서 Animation Layer Interface를 생성하고 클래스 이름을 "ALI_Hero"로 명명하였다.기본 Animation Laye..
GAS_06_Ability Input Action 바인딩 및 GA(무기장착) 활성화
·
내배캠/GAS(Gameplay Ability System)
📌 Ability를 Input 바인딩🔹 RPGInputComponent.h더보기#pragma once#include "CoreMinimal.h"#include "EnhancedInputComponent.h"#include "DataAssets/Input/DataAsset_InputConfig.h" //InputConfig 헤더 추가#include "RPGInputComponent.generated.h"UCLASS()class RPG_API URPGInputComponent : public UEnhancedInputComponent{ GENERATED_BODY() public: template void BindNativeInputAction( const UDataAsset_InputConfig* In..
GAS_05_플레이어 전용 GameplayAbility
·
내배캠/GAS(Gameplay Ability System)
📌 플레이어 전용 GameplayAbility 구현앞서 구현했던 "URPGGameplayAbility" 에는 플레이어와 적의 공통으로 사용될 Ability의 헬퍼함수를 구현했었다.이제 이 클래스를 상속 받는 플레이어 전용 GA 클래스인 "UWarriorHeroGameplayAbility" 클래스를 구현하고, 플레이어 전용 Ability들은 이 클래스를 상속 받도록 한다. ✅ 플레이어 전용 Gameplay Ability에 헬퍼 함수 구현공통 GameplayAbility인 "RPGGameplayAbility"를 상속 받는 플레이어 전용 Ability 클래스인 "WarriorHeroGameplayAbility" 이름으로 C++클래스를 생성했다. 🔹 UWarriorHeroGameplayAbility.h#pr..