GA_ GameplayAbility
GC_ GameplayCue
GE_ GameplayEffect

 


 

Demo Project 분석

 

총 발사

- 구성

1. BP_GunProjectile(총알)

2. GA_FireGun

3. GE_GunDamage

4. GC_FireGunImpact

 

세부 분석

 

BP_GunProjectile

- BeginPlay를 통하여 Actor의 수명을 결정 Set Life Span 함수 사용

  총알의 Range와 초기 속도를 통하여 수명 결정

- On Component Begin Overlap을 Collision과 StaticMesh에 동시에 걸어 충돌을 확인(1차)

- 발사자와 충돌하는 것을 Branch를 통해 방지

- Switch Has Authority를 통하여 Server는 피격자가 플레이어(올바른 대상)인지 판단(아닌 경우 액터가 삭제)

  Client는 액터를 삭제 (서버에서 충돌 판정을 검사하기 때문)

- 피격자가 올바른 대상인 경우 Ability System Component를 가져와 Is Valid를 통하여 검사를 함

- 총알 객체로 부터 피격자까지 Multi Line Trace를 통하여 피격된 대상들을 배열로 반환(Pawn클래스만 반환)

- For Each를 통하여 모든 대상 Actor를 대상으로 마지막 피격자를 검사

- Effect 정보를 가져오고 피격자에게 이펙트가 나오게 됨(서버에서 호출하면 클라이언트에도 이펙트가 소환됨)

 

모든 데이터는 GA_FireGun을 토대로 발생

Anim Montage, Projectile class, Game Effect(Gameplay Effect), Range, Damage 등 데이터 저장

능력에 대한 Ability ID 존재

각종 Tag를 지정해줘야함

Cost와 CoolDown에 대해서도 설정이 가능

 

GE_GunDamage

Gameplay Effect의 데미지 처리를 위하여 Executions에 데이터를 넣어 처리

Gameplay Cues를 통하여 FireGun Imapct를 설정


 

GamePlay Effect에 대해서

 

경과 시간

Cooldown 개발

Duration Policy : Has Duration

Duration Magnitude : 쿨타임 수치를 기입

 

 

GamePlay Effect에는 Components, Modifiers, Executions가 존재

Components : 

Modifiers : 마나, 체력, 스테미나 소모 등

Executions :데미지에 대한 처리

'Unreal Engine 5 > MMORPG 개발' 카테고리의 다른 글

보스 몬스터 회전  (0) 2024.04.21
보스 Jump Attack 구현  (0) 2024.04.20
GAS 보스 데미지 설계  (0) 2024.04.13
스텟 설계  (0) 2024.03.22
Boss Ai 구현 Behavior Tree  (0) 2024.03.21

+ Recent posts