Gameplay Features
Gameplay Feature는 대포 발사, 해치 열기, 도구 작동처럼 하나의 Part가 소유하는 동작을 추가합니다. 차량을 계속 조작하는 기능에는 Assembly Controller를 사용하고, 한 번씩 실행되는 동작에는 Gameplay Feature를 사용하세요.
Gameplay Behavior Feature 만들기
- CAT Part Gameplay Feature를 부모로 Blueprint Class를 만듭니다.
- Class Defaults > Input Actions에 Feature가 받을 Input Action을 추가합니다. Blueprint에는 해당 Action의
CAT Input Action: ...이벤트 노드가 자동으로 생성됩니다. Get Part World Transform같은 노드로 소유 Part의 정보를 가져와 동작을 구현합니다.- Part Model을 열고 Features 패널에서 Gameplay Behavior를 추가한 뒤, 만든 Blueprint를 Feature Class로 선택합니다.

Input Action은 활성 Enhanced Input Mapping Context에도 매핑되어 있어야 합니다. 플레이어가 이 Part가 포함된 Assembly를 조작하면 CAT가 입력을 Feature에 자동으로 전달합니다.
예제: 대포알 발사
이 예제에서는 SM_CannonBall을 발사체 메시로 사용합니다.
IA_Fire같은 Boolean Input Action을 만들고 프로젝트의 Input Mapping Context에서 원하는 키에 연결합니다.BP_CannonballActor Blueprint를 만듭니다. Sphere Collision을 Root로 두고,SM_CannonBall을 사용하는 Static Mesh와 Projectile Movement Component를 추가합니다.- CAT Part Gameplay Feature를 부모로
BP_CannonFireFeature를 만들고 Input Actions에IA_Fire를 추가합니다. CAT Input Action: IA_Fire의Started핀에서 Part World Transform을 가져오고 로컬 총구 Offset을 더한 뒤, 그 Transform에BP_Cannonball을 Spawn합니다.- 대포 포신 Part에 Gameplay Behavior를 추가해
BP_CannonFireFeature를 선택합니다. Assembly Editor에서 해당 Part를 선택하고 Upload to Source Part를 눌러 변경 내용을 원본 Part Model에 반영합니다.
발사체로 CAT 구조물을 해체하려면 Sphere Collision의 Hit Event를 서버에서 처리하세요. 충돌 지점을 CAT Radial Detach Request의 Center로 넣고 CAT Assembly Detach Subsystem의 Detach Relations In Sphere를 호출한 뒤 발사체를 제거합니다.
Detach Relations In Sphere는 주변 CAT Assembly Relation을 해체합니다. 일반 Static Mesh Actor를 파괴하거나 Part 하나뿐인 Assembly를 쪼개는 기능은 아닙니다.
생명주기와 컨텍스트
On Feature Activated에서 임시 상태를 초기화합니다.CAT Input Action: ActionName에서 입력값과 Trigger Event를 받습니다.On Feature Deactivated에서 타이머, Delegate, 임시 리소스를 정리합니다.
Feature에서는 소유 Assembly와 Part, Feature ID, 현재 Control Station Part, 제어 Instigator, 소유 Part의 World Transform을 가져올 수 있습니다.
연속 입력
Gameplay Feature는 발사, 활성화, 해제 같은 개별 동작에 적합합니다. 주행, 조향, 자세 제어처럼 지속적으로 물리를 제어하는 기능에는 Assembly Controller를 사용하세요.
입력과 권한
Gameplay Feature 입력은 권한을 가진 Assembly로 전달됩니다. 복제할 발사체의 Spawn과 Radial Detach 같은 구조 변경은 서버에서 실행하세요. Feature Class에 직접 선언한 Input Action은 Reliable 방식으로 전달됩니다.
기존 에셋을 위해 의미 기반 Input Slot, Part 단위 Input Binding, CAT Gameplay Input 노드는 계속 읽을 수 있습니다. 새 Gameplay Feature는 Blueprint Class Defaults에 Input Action을 직접 선언하세요.