내일배움캠프 36일차 - 언리얼 엔진 C++: UE_LOG와 액터 라이프사이클
UE_LOG 사용법
관련TIL 링크: https://khalicika.blogspot.com/2026/03/20-unreal-engine-c.html
| 카테고리별로 Log필터링이 가능하다. 단, 필터목록은 '한번이라도 출력된 Log카테고리'만 보인다. |
| 헤더파일(.h) 선언 Log카테고리 정의매크로(로그명, 기본 로그심각도, All) ※ All: 필요시 나중에 모든 로그를 활성화할 수 있도록 설정 |
| 소스파일(.cpp) 정의 선언된 카테고리를 쓰고싶으면 해당 헤더를 include하면 된다. |
액터가 생성(Spawn)되고 소멸(Destory)되는 과정을 나타낸다.
예) 생성자, BeginPlay(), Tick(), EndPlay() 등의 콜백함수들
생명주기의 이해가 필요한 이유
필요한 함수들이나 컴포넌트생성을 어느 타이밍을 적절하게 사용할지 알아야함.
ex) 매 프레임마다 호출되는 Tick함수에 무거운 로직코드를 삽입하면 게임이 매우 느려짐
LifeCycle함수
아래의 LifeCycle함수들은 번호 순서대로 실행된다.
1) 생성자
: 오브젝트가 메모리에 생기면서 한번 호출되는 함수. 주로 월드에 배치하기전에 먼저 실행됨.
: 변수 초기화, 컴포넌트 생성 및 계층구조 확립 등에 활용됨
2) PostInitializeComponents(): 모든 컴포넌트들이 초기화 및 호출이 끝난 직후 호출되는 함수.
: 월드에 배치하기전에 컴포넌트끼리 상호작용(데이터교환 등)이 필요할 때 활용됨.
3) BeginPlay(): 런타임상 액터가 월드에 배치(Spawn)된 직후 호출되는 함수.
: 월드에 배치된 다른 액터들과 상호작용 시 활용됨.
4) Tick(float DeltaTime): 매 프레임마다 호출되는 함수.
: 조작, 애니메이션, 물리계산 등 매 프레임마다 필요한 상호작용에 활용됨.
: 매 프레임 호출되므로 계산이 무거워지면 게임의 성능을 떨어트리므로 주의.
5) Destroyed(): 액터가 삭제될 때 직전 호출되는 함수.
: 리소스 정리를 할 때 활용된다. 이때 EndPlay도 호출된다.
6) EndPlay(Enum): 게임종료, Destroyed(), 레벨 전환 등으로 사라질 때 호출되는 함수.
: 매개변수 Enum은 해당 액터가 종료된 이유를 가진다.
| ※ 모든 LifeCycle 함수는 정의할 때 Super로 부모클래스를 호출하는 것을 잊지 말자 |
댓글
댓글 쓰기