콘텐츠로 이동

상호작용과 Grab Session

CAT Grab Component는 플레이어가 부품을 집고 조립할 때 사용하는 진입점입니다. 유효한 포커스 대상을 잡으면 Grab Session이 시작되고, 대상을 놓거나 잡기를 취소하면 종료됩니다.

세션은 다음 두 동작 중 하나를 사용합니다.

  • Physical Hold: 오브젝트를 자유롭게 잡고 이동합니다.
  • Assembly Placement: Connector 스냅을 미리 보여주고 배치가 확정되면 Assembly 명령을 제출합니다.

플레이어 블루프린트에 CAT Grab Component 추가

기본 설정

  1. 플레이어 캐릭터 또는 폰에 CAT Grab Component를 추가합니다.
  2. 대상 Assembly Actor에 기본 CAT Grabbable Component가 있는지 확인합니다.
  3. Input ModeManaged로 유지하거나, External을 선택하고 자체 입력을 Grab API에 연결합니다.
  4. 트레이스 거리, 배치 거리, 콜리전 검사, 회전 제어를 설정합니다.

입력이 Grab Session을 제어하는 방식

Input Mode 동작
Managed CAT가 Input Mapping Context를 추가·제거하고 설정된 Input Action을 Grab Component에 자동으로 연결합니다.
External CAT가 Context나 Binding을 관리하지 않습니다. 블루프린트 또는 C++ 입력 코드에서 Begin Grab, End Grab, 회전, 거리, 분리 함수를 직접 호출합니다.

기본 Managed 입력 설정은 CAT Grab Component > Input에서 확인할 수 있습니다.

Managed Grab 입력 설정

기본 Managed 설정은 필요한 시점에 맞춰 Context를 전환합니다.

  1. IMC_CATGrabMode는 Grab Mode를 켜고 끄기 위해 계속 활성화됩니다.
  2. IMC_CATGrab은 유효한 대상에 포커스하거나 Grab Session이 활성화된 동안 적용됩니다.
  3. IMC_CATGrabActive는 잡은 오브젝트를 배치하거나 회전할 때 사용하는 조작을 위해 적용됩니다.

대응하는 IA_CATGrab... 액션은 Grab Component API를 호출합니다. 잡기 시작과 종료는 이후 서버에서 검증됩니다. Grab Mode는 타기팅과 입력을 활성화할 뿐이며 Grab Session 자체는 아닙니다.

Grab Session 생명주기

포커스 대상 탐색
서버에서 Begin Grab
물리 홀드 또는 Assembly Placement 미리 보기
회전 / 거리 조정 / 스냅 선택
End Grab 후 확정

커넥터 스냅

잡은 부품이 호환 커넥터에 가까워지면 CAT가 스냅 후보를 평가하고 배치 고스트를 표시합니다. 놓을 때 유효한 배치는 권한이 있는 Assembly 명령으로 변환됩니다.

유용한 블루프린트 검사

  • Has Focused Grab Target
  • Is Grabbing
  • Get Current Grabbed Part
  • Get Current Grabbed Assembly Component
  • Is Current Ghost Snapped
  • Detach Looked Connector

Grab Session과 Control Session

활성 Control Session은 충돌하는 Grab을 차단합니다. Managed 입력을 사용하면 CAT가 Grab Binding과 Context를 잠시 제거하고 Control Session이 끝난 뒤 복원합니다.