Possess Lifecycle

Controller는 몸을 빌려 명령을 전달한다

Possess()가 호출되면 제어권은 Controller에 있고, 월드에서 움직이는 책임은 Pawn 또는 Character 쪽에 남습니다.

제어권 흐름

one controller, one pawn
1

생성

GameMode가 Controller와 기본 Pawn을 만들거나 레벨의 Pawn을 준비합니다.

2

빙의

Possess()로 Controller가 Pawn에 연결되고 명령 통로가 생깁니다.

3

입력 바인딩

플레이어라면 입력 액션을, AI라면 행동 트리와 지각 정보를 연결합니다.

4

명령 전달

Controller가 방향과 행동을 결정하고 Pawn의 이동 컴포넌트가 실행합니다.

5

해제

사망, 탑승, 리스폰 시 UnPossess() 후 새 Pawn으로 갈아탑니다.

Controller가 들고 있는 것

플레이어 입력, HUD, RPC 시작점, AI 의사결정처럼 몸을 바꿔도 남길 수 있는 제어 책임입니다.

Pawn이 들고 있는 것

위치, 충돌, 메시, 이동 컴포넌트처럼 실제 월드에서 보이고 움직이는 몸체 책임입니다.

구현 규칙

입력 처리가 꼬이면 Pawn에 코드를 더 넣기 전에 현재 Controller가 정말 그 Pawn을 빙의하고 있는지부터 확인합니다.