WN_인생기록

[UE_5] GAS_ GameplayAbility - Instancing Policy, NetExecutionPolicy 본문

언리얼 개발/탐구(이론)

[UE_5] GAS_ GameplayAbility - Instancing Policy, NetExecutionPolicy

WhNi 2024. 5. 21. 17:52

GameplayAbility에서 Ability는 특정 스킬이나 캐릭터가 할 수 있는 행동을 의미한다. 

 

이 Ability들은 Instance 되는 방식을 3가지로 분류한다. 이를 Instancing Policy라고 하며 Ability가 어떻게 생성되고 관리될지 정하는 것이다. 

 

Non Instanced

인스턴스화 되지 않는것을 의미하며 RPG를 예를 들었을때,  단순한 스킬,능력으로 상태를 추적할 필요가 없는 Ability일때 설정함

 

InstancedPerActor

각 액터에 대해 한번 인스턴스화 되며, 각 캐릭터 혹은 액터가 인스턴스를 가지게 된다. 플레이어마다 다른 쿨다운 타이머를 가진 Ability일때 주로 설정한다. 

 

InstancedPerExcution

어빌리티가 실행될때마다 인스턴스화 된다. 같은 액터가 여러번 사용한다면 사용할때마다 새로운 인스턴스가 생성되는 것이다. 사용할때마다 중첩되거나 특정 상태를 유지해야 하는 Ability일때 설정함

 

또한 

NetExecutionPolicy 는 Ability가 네트워크 환경에서 어떻게 실행될지 관리하는 방식이다.

 

LocalOnly

로컬 클라에서만 실행되고, 서버에는 영향을 주지 않음. 

 

LocalPredicted

로컬 클라이언트에서 실행되고, 서버에서도 실행됨. 클라이언트는 지연을 방지하기 위해서 예측적으로 실행하며, 서버에서 검증되면 그 결과를 적용한다. 

 

ServerOnly

Ability를 서버에서만 실행함. 클라는 서버에서 실행된 결과를 클라가 받아들임

 

ServerInitiated

서버에서 실행되어서 클라이언트와 동기화됨. 서버가 결정하는 이벤트에 적합. 

'언리얼 개발 > 탐구(이론)' 카테고리의 다른 글

[UE_5] 언리얼 메모리 관리 시스템  (1) 2024.06.05
[UE_5] TMap  (0) 2024.06.05
[UE_5] Online Subsystem  (0) 2024.05.16
[UE_5] AI  (0) 2024.05.14
[UE_5] 언리얼 멀티플레이 시스템의 이해 (Replication Mode)  (0) 2024.05.09