APlayerController
입력, 카메라 의도, 로컬 UI, 서버 RPC 시작점을 들고 플레이어 연결과 함께 유지됩니다.
Controller는 제어 의도를 만들고, Pawn은 월드에 존재하는 몸을 가지며, Character는 사람형 이동과 충돌 규칙을 기본 제공하는 Pawn입니다.
APlayerController입력, 카메라 의도, 로컬 UI, 서버 RPC 시작점을 들고 플레이어 연결과 함께 유지됩니다.
APawn월드에 배치되는 몸입니다. 차량, 드론, 포탑처럼 직접 이동 규칙을 설계할 때 적합합니다.
ACharacter캡슐, 스켈레탈 메시, CharacterMovement가 필요하면 기본 구현을 활용합니다.
AAIController행동 트리, 블랙보드, 내비게이션 요청처럼 보이지 않는 판단 흐름을 맡깁니다.
Pawn이 사라져도 점수, 입력 설정, 메뉴 상태는 PlayerController나 PlayerState에 남깁니다.
같은 Controller가 캐릭터 Pawn을 내려놓고 차량 Pawn을 Possess하면 입력 주체는 유지됩니다.
Pawn의 메시와 충돌은 유지하면서 Controller만 바꾸면 다른 의사결정을 붙일 수 있습니다.
Possess()는 몸의 소유자를 바꾸는 일입니다. 몸에 붙은
컴포넌트와 제어자에 붙은 판단 로직을 섞지 않을수록 전환이 안전합니다.