2025. 5. 11. 21:50ㆍ자기계발
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
오늘은 Unreal Engine의 Gameplay Ability System(GAS)에서 중요한 요소 중 하나인 Gameplay Effect(GE)에 대해 학습하고, 이를 활용하여 플레이어의 체력을 실제로 적용해보는 실습을 진행했다. GAS 구조는 처음 접할 땐 다소 복잡하게 느껴지지만, 그 핵심은 효과를 데이터 기반으로 설계하고 관리할 수 있다는 점에 있다. 오늘 학습은 그 중에서도 GameplayEffect의 작동 원리와 그것을 플레이어 캐릭터에 적용하는 실전 흐름을 이해하는 데 초점을 두었다.
Gameplay Effect는 말 그대로 캐릭터의 능력치에 영향을 주는 효과를 의미한다. Instant는 한 번만 즉시 적용되는 효과, Duration는 일정 시간 동안 유지되는 효과, Infinite는 제거되기 전까지 무한히 유지되는 상태로 다양한 상황에 맞는 효과가 이미 제작되어 있어서 커스터마이징 해서 사용하기에 좋다. GE는 AttributeSet에 정의된 스탯을 대상으로 작동하며, 수치 연산 방식으로 적용되기 때문에 다양한 게임 메커니즘에 유연하게 대응할 수 있다고 한다.
GE를 플레이어에게 적용하는 방법은 지난 시간에 추가했던 UAbilitySystemComponent의 ApplyGameplayEffectToSelf() 함수를 사용하면 간단하게 작동한다. AttributeSet에서 Health 속성은 ReplicatedUsing=OnRep_Health 로 설정되어 있었기 때문에, 서버에서 GE를 적용하면 클라이언트에도 자동 반영된다.
AbilitySystemComponent->ApplyGameplayEffectToSelf(DamageEffect, 1.0f, AbilitySystemComponent->MakeEffectContext());
기존 방식으로 캐릭터의 체력, 마나를 관리하던 방식과 비교해봤을 때, GE를 활용하는 구조는 보다 체계적이고 안전하게 스탯을 처리할 수 있다는 강점이 있다. 처음에는 데이터 에셋으로 수치를 설정하는 방식이 번거롭다고 느껴졌지만, 스킬이 많아지고 다양한 상태이상이 겹치게 되는 중후반 게임 설계에서는 필연적으로 GE 구조가 필요하겠구나 라는 생각이 들었다.
Abit.ly 다운받기
abit.ly
'자기계발' 카테고리의 다른 글
패스트캠퍼스 환급챌린지 42일차 : RPG 전투 플레이 프로젝트로 배우는 언리얼 엔진 5 게임 개발 강의 후기 (1) | 2025.05.12 |
---|---|
[클래스101] 구글 애드센스로 평생 월 100만원 만드는 방법 19일차 (0) | 2025.05.11 |
[클래스101] 구글 애드센스로 평생 월 100만원 만드는 방법 18일차 (0) | 2025.05.10 |
패스트캠퍼스 환급챌린지 40일차 : RPG 전투 플레이 프로젝트로 배우는 언리얼 엔진 5 게임 개발 강의 후기 (0) | 2025.05.10 |
[클래스101] 구글 애드센스로 평생 월 100만원 만드는 방법 17일차 (1) | 2025.05.09 |