개발자 면접 공부/언리얼 엔진

언리얼 엔진 액터의 생명주기(디스크 로드)

chogyujin 2024. 3. 19. 19:38
728x90

1. 개요

오늘은 언리얼 엔진의 엑터 생명주기 디스크 로드편으로 시작하겠습니다.


2. 액터의 생명주기

액터란 실제로 레벨에 직접 물체를 불러들일수있는것중 하나입니다.
보통 액터를 생성할때 직접 레벨에 끌어다가 생성을 할수 있고, 아니면 코드로 SpawnActor를 통해 생성이 가능합니다.

아래의 사진은 액터의 생명주기 그림입니다.

출처 : https://docs.unrealengine.com/4.26/ko/ProgrammingAndScripting/ProgrammingWithCPP/UnrealArchitecture/Actors/ActorLifecycle/


3. 디스크 로드

디스크 로드는 이미 레벨에 있는 액터에 대해서, LoadMap이 발생했을 때나 AddToWorld가 호출되었을 때 발생합니다.

  1. 패키지/레벨에 있는 액터가 디스크에서 로드
  2. PostLoad로드 이후 - 디스크에서의 로드 완료 후 Serialize(직렬화) 된 액터의 의해 호출됩니다.
    커스텀 버전이나 픽스 작업은 이 곳에 와야 합니다. PostLoad 는 PostActorCreated와 상호 배제 됩니다.
  3. InitiallzeActorsForPlay 플레이용 액터 초기화
  4. RouteActorInitialize 액터 초기화 경로 변경 - 초기화 되지 않은 액터에 대해 호출합니다.
    • PreInitializeComponents 컴포넌트 초기화 이전 - 액터의 컴포넌트에 InitializeComponent 를 호출하기 전 호출합니다.
    • InitializeComponent 컴포넌트 초기화 - 액터에 정의된 각 컴포넌트 생성용 헬퍼 함수입니다.
    • PostInitializeComponents 컴포넌트 초기화 이후 - 액터의 컴포넌트 초기화 완료 후 호출됩니다.
  5. BeginPlay  플레이 시작 - 레벨이 시작되면 호출됩니다.

4. 출처

https://docs.unrealengine.com/4.26/ko/ProgrammingAndScripting/ProgrammingWithCPP/UnrealArchitecture/Actors/ActorLifecycle/

 

액터의 수명 주기

액터가 로드 또는 스폰된 후 결국 죽을 때 벌어지는 일에 대해서입니다.

docs.unrealengine.com