Advanced Unreal Engine 5 Multiplayer Gameplay Programming
GAS를 통해 서로 다른 능력 간의 관계를 설정할 때, 항상 C++로 모든 것을 구현할 필요는 없다.
현재 점프 중에 앉기를 수행할 수 있도록 되어 있다.
- Cancel Abilities with Tag
여기에 등록된 태그를 Ability Tags로 가진 능력은, 이 능력이 활성화되면 종료된다. - Block Abilities with Tag
여기에 등록된 태그를 Ability Tags로 가진 능력은, 이 능력이 활성화 상태이면 실행할 수 없다. - Activation Owned Tags
여기에 등록된 상태 태그는 액터의 Ability System Component에 추가된다. - Activation Required Tags
여기에 등록된 상태 태그를 액터의 Ability System Component가 갖고 있어야 이 능력을 실행할 수 있다. - Activation Blocked Tags
여기에 등록된 상태 태그가 액터의 Ability System Component에 없어야 이 능력을 실행할 수 있다.
BP_GA_Crouch의 Activation Blocked Tags에 동시에 실행하지 않을 태그들을 설정한다.
이제 점프 도중이면 State.InAir 상태이기 때문에, 점프 도중에는 앉기가 Block된다.
이번에는 달리던 도중 Shift 키를 누른 상태에서 앉으면 두 태그를 동시에 갖고 있는 걸 확인할 수 있다.
BP_GA_Crouch의 Cancel Abilities with Tag에 이 능력을 실행할 때 종료할 능력의 Ability Tags를 설정한다.
이제 달리던 도중에 앉으면 달리기 능력이 종료되면서, UAG_GameplayAbility::EndAbility() 함수를 통해 이펙트가 제거된다.
'Unreal Engine > Advanced UE5 Multiplayer Programming' 카테고리의 다른 글
인벤토리 아이템 정적 데이터 (0) | 2023.05.17 |
---|---|
인벤토리 구조 (0) | 2023.05.16 |
벽 달리기 능력 (1) | 2023.05.14 |
뛰어넘기 능력 (0) | 2023.05.13 |
달리기 능력 (0) | 2023.05.12 |