본문 바로가기
Unreal

[Unreal] 레벨 입장시 기본 객체 생성플로우

by 카피마스터 2023. 8. 5.

// controller

AGameModeBase::Login

AGameModeBase::SpawnPlayerController 

    - AGameModeBase::SpawnPlayerControllerCommon

     설정된 플레이어 컨트롤러 클래스로 객체 생성

 

// pawn

AGameModeBase::PostLogin

AGameModeBase::RestartPlayer

AGameModeBase::RestartPlayerAtPlayerStart

    - AGameModeBase::GetDefaultPawnClassForController

      설정된 디폴트 폰 클래스가 있다면 얻어온다

      여기서 있고 없고에 따라 분기 처리

 

AGameModeBase::FinishRestartPlayer

플레이어 컨트롤러에 폰을 possess처리

 

// 설정된 폰 클래스가 있는경우(1)

AGameModeBase::SpawnDefaultPawnFor

    - AGameModeBase::SpawnDefaultPawnFor_Implementation

        - AGameModeBase::SpawnDefaultPawnAtTransform_Implementation

 

// 설정된 폰 클래스가 없는경우(2)

APlayerController::FailedToSpawnPawn

 

 

// 플레이어 정보가 먼저 넘어와 로그인 시점에 캐릭터에 대한 정보가 있다면 RestartPlayerAtPlayerStart를 상속 하여 폰 클래스를 생성

 

// 만약 로그인 시점에 캐릭터에 대한 정보가 없고 이후 정보를 받아 생성(레벨을 로드후 서버로 정보를 요청하여 받음)하는 경우 해당 모드의 기본 폰을 None으로 설정하면 기본 폰을 생성하지 않음

이경우 정보가 넘어오고 이후 possess처리