1. 개요
액터의 라이프 사이클이 무엇인지 알아보고 게임 개발에 어떻게 적용할 수 있는지 살펴본다.
2. 액터의 라이프 사이클이란?
액터는 레벨에 배치되며 게임 실행시
엔진에 의해 각 함수들이 호출된다.
이 때 호출되는 함수들을 액터의 콜백 함수라고 하며
액터의 라이프 사이클은 이 함수들의 호출 순서를 말한다.
3. 액터의 콜백 함수

액터가 생성되면 위 이미지와 같이 다양한 콜백 함수들이 호출된다.
그 중에 자주 사용되는 함수들을 살펴보자.
- Constructor
- PostInitializeComponents()
- BeginPlay
- Tick
- Destroyed
- EndPlay
1. Constructor()
호출 시점
- 생성자(Constructor) 함수는 게임 플레이시 액터가 생성되었을 때 한 번 호출된다.
구현
- 여기서는 컴포넌트 생성 및 멤버 변수들을 초기화한다.
2. PostInitializeComponents()
호출시점
- 액터에 부착된 모든 컴포넌트들이 초기화된 후에 호출된다.
- 이 시점에서는 컴포넌트들이 준비된 상태이다.
구현
- 컴포넌트끼리 서로 필요한 데이터를 주고받는 코드를 작성한다.
3. BeginPlay(float DeltaTime)
호출시점
- 레벨이 시작되어 액터가 배치(스폰)된 후에 호출된다.
- 이 시점에서는 월드와 다른 액터들이 준비된 상태이다.
구현
- AI, 게임 모드, 플레이어 컨트롤러 등 다른 시스템과의 연동도 보통 이 시점에 처리한다.
4. Tick()
호출시점
- 매 프레임마다 호출된다.
구현
- 실시간 업데이트가 필요한 로직을 작성한다.
5. Destroyed()
호출시점
- Destroy() 함수를 호출하여 액터가 제거될 때 호출된다. (강제적으로 액터가 제거될 때)
구현
- 멤버 변수의 메모리를 해제한다.
6. EndPlay(const EEndPlayReason::Type EndPlayReason)
호출시점
- 액터가 월드에서 활동하지 않을 때 호출된다. (레벨 전환, 게임 종료, 파괴)
구현
- 멤버 변수의 메모리를 해제한다.
참고
'Unrael > Basic' 카테고리의 다른 글
| [UE/Basic] 직렬화 (Serialization) (1) | 2025.01.23 |
|---|---|
| [UE/Basic] 자료구조 - TArray (0) | 2025.01.22 |
| [UE/Basic] 델리게이트 (0) | 2025.01.07 |
| [UE/Basic] 액터 (Actor) (0) | 2024.12.20 |
| [UE/Basic] 캐릭터 클래스 (Character) (0) | 2024.12.20 |