0. 개요
게임플레이 어빌리티 블루프린트를 다룬다.
1. 태그(Tags)
어빌리티를 활성/차단하기 위한 태그를 설정한다.
2. 인스턴스화 정책(Instancing Policy)
Instanced Per Actor | 능력(Ability)에 대해 단일 인스턴스를 생성, 활성화 할 때마다 인스턴스를 재사용 | - 변수를 저장할 수 있음 - 변수를 매번 수동으로 초기화해야 함 |
Instanced Per Execution | 능력을 활성화할 때마다 매번 새로운 인스턴스를 생성 | - 활성화 중 변수를 저장하지 않음 - Instanced Per Actor보다 성능 낮음 |
Non-Instanced | 클래스 기본 객체(Class Default Object)를 사용, 인스턴스는 생성되지 않음 | - 상태를 저장할 수 없음 - Ability Task의 델리게이트를 바인딩할 수 없음 - 가장 높은 성능 |
3. 네트워크 실행 정책(Net Execution Policy)
Local Only | 로컬 클라이언트에서만 실행. 서버는 이 어빌리티를 실행하지 않음 |
Local Predicted | 로컬 클라이언트에서 먼저 활성화되고, 이후 서버에서 실행 예측(Prediction)을 활용하며, 서버는 잘못된 변경 사항을 롤백할 수 있음 |
Server Only | 서버에서만 실행 |
Server Initiated | 서버에서 먼저 실행된 후, 로컬 클라이언트에서 실행 |
4. 사용하지 말아야 하는 설정들
(1) 복제 정책(Replication Policy)
게임플레이 어빌리티는 기본적으로 복제되도록 되어있으므로 설정할 필요가 없다.
(2) 서버가 클라이언트의 어빌리티 비활성화를 존중(Server Respects Remote Ability Cancellation)
클라이언트 측에서 어빌리티가 취소되었을 때 서버에서도 어빌리티를 취소한다.
일반적으로, 서버에서 어빌리티를 취소시키고 클라이언트에서 어빌리티가 취소되는 방향을 유지하기 위해 해당 옵션을 끈다(권한은 서버가 가진다).
(3) 입력을 직접 복제(Replicate Input Directly)
어빌리티를 발동시키는 입력에 대한 이벤트를 서버로 항상 복제한다.
버튼을 누를 때마다 서버로 패킷을 전송하므로 비효율적이다.
'UE 5 스터디 > Gameplay Ability System(GAS)' 카테고리의 다른 글
8-5. 입력 - (2) 액션에 어빌리티 연결 / 커스텀 입력 컴포넌트(Aura Input Component) (0) | 2024.12.03 |
---|---|
8-4. 입력 - (1) 입력 설정 데이터 에셋(Input Config Data Asset) (0) | 2024.12.03 |
8-2. 게임플레이 어빌리티 - (1) 어빌리티 부여(Granting Ability) (0) | 2024.10.31 |
8-1. 게임플레이 어빌리티(Gameplay Ability) (0) | 2024.10.31 |
7-11. 속성 메뉴 UI - (7) 속성 값 변화 델리게이트, 2차 속성 매핑 (0) | 2024.10.23 |