안선생의 개발 블로그

[UE5] 생성자, BeginPlay,Tick 알아보기 본문

언리얼/언리얼 C++

[UE5] 생성자, BeginPlay,Tick 알아보기

안선생 2023. 10. 28. 15:33

생성자, BeginPlay, Tick

아래와 같이 액터 클래스를 처음 생성하면 보통 이 3가지는 기본으로제공 해주는데 과연 이것이 무엇인지 오늘은 이 3가지의 대해서 알아보겠습니다.

 

 

생성자

말 그대로 생성될 때 호출된다. 생성자에서 보통 기본값이나 액터의 프로퍼티를 초기화해 준다.

 

 

BeginPlay()

비긴플레이도 말 그대로 시작할 때 딱 한번 호출되는 함수이다. 

쉽게 말하자면 게임이 시작되었음을 알리는 함수라고 생각하면 된다.

 

 

Tick

틱함수는 매 프레임마다 호출됩니다. 

쉽게 말하자면 게임이 시작되면 계속 실행되는 함수라고 생각하면 된다.

틱함수를 쓸려면 생성자에 있는 PrimaryActorTick.bCanEverTick = true; 해주셔야 합니다.

 

 

 

아래 로그를 출력해서 각각 무슨 역할을 하는지 제대로 알아보겠습니다.

아래와 같이 작성 후 컴파일 하겠습니다.

 

 

실행결과

 

보이사나여? 순서는 생성자->비긴플레이->틱 순으로 호출되며 생성자, 비긴 플레이는 한 번만 호출되는 방면 틱 함수는 매 순간 호출되고 있는데요, 로그에서 대충 알 수 있듯이 틱 함수는 조심히 다루어야 해요 매 순간 호출되기 때문에 성능저하로 이루어지는 가장 큰 원인이기 때문이에요.

 

 

 

 

감사합니다.