안선생의 개발 블로그
[UE5] 생성자, BeginPlay,Tick 알아보기 본문
생성자, BeginPlay, Tick
아래와 같이 액터 클래스를 처음 생성하면 보통 이 3가지는 기본으로제공 해주는데 과연 이것이 무엇인지 오늘은 이 3가지의 대해서 알아보겠습니다.
생성자
말 그대로 생성될 때 호출된다. 생성자에서 보통 기본값이나 액터의 프로퍼티를 초기화해 준다.
BeginPlay()
비긴플레이도 말 그대로 시작할 때 딱 한번 호출되는 함수이다.
쉽게 말하자면 게임이 시작되었음을 알리는 함수라고 생각하면 된다.
Tick
틱함수는 매 프레임마다 호출됩니다.
쉽게 말하자면 게임이 시작되면 계속 실행되는 함수라고 생각하면 된다.
틱함수를 쓸려면 생성자에 있는 PrimaryActorTick.bCanEverTick = true; 해주셔야 합니다.
아래 로그를 출력해서 각각 무슨 역할을 하는지 제대로 알아보겠습니다.
아래와 같이 작성 후 컴파일 하겠습니다.
실행결과
보이사나여? 순서는 생성자->비긴플레이->틱 순으로 호출되며 생성자, 비긴 플레이는 한 번만 호출되는 방면 틱 함수는 매 순간 호출되고 있는데요, 로그에서 대충 알 수 있듯이 틱 함수는 조심히 다루어야 해요 매 순간 호출되기 때문에 성능저하로 이루어지는 가장 큰 원인이기 때문이에요.
감사합니다.
'언리얼 > 언리얼 C++' 카테고리의 다른 글
[UE5] C++ 블루프린트 연결하기 (0) | 2023.11.02 |
---|---|
[UE5] 언리얼 라이브 코딩 (0) | 2023.10.31 |
[UE5] C++ 클래스 생성하기 (0) | 2023.10.27 |
[UE5] 언리얼 클래스 (0) | 2023.10.26 |
[UE5] UE_LOG 언리얼 엔진에서의 로깅 (0) | 2023.10.25 |