본문 바로가기
프로그래밍

👨‍💻 [Unreal] 언리얼 엔진의 라이프 사이클 함수는 어떤 것들이 있나요?

by 밝음의기둥 2024. 10. 11.
반응형

👨‍💻 안녕하세요, 윌리 프로젝트의 윌리 입니다.

언리얼 엔진의 라이프 사이클 함수는 어떤 것들이 있는지 물어봤습니다.


질문 >

언리얼 엔진의 라이프 사이클 함수는 어떤 것들이 있나요?

답변 >

언리얼 엔진의 **라이프 사이클 함수(Lifecycle Functions)**는 객체나 액터(Actor)의 생성, 초기화, 업데이트, 파괴 등의 과정에서 호출되는 함수들입니다. 이러한 함수들은 주로 AActor와 같은 클래스에서 정의되며, 언리얼 엔진에서 게임 오브젝트의 생명 주기를 관리하는 데 사용됩니다.

주요 라이프 사이클 함수:

  1. BeginPlay():
    • 객체가 월드에 배치된 후, 게임이 시작되면 처음으로 호출되는 함수입니다. 보통 객체의 초기화 작업이 이루어집니다. 이 함수는 게임 로직의 시작 지점으로 사용되며, 주로 게임 오브젝트의 초기 상태를 설정하는 데 유용합니다.
    virtual void BeginPlay() override;
    
    
  2. Tick(float DeltaTime):
    • 매 프레임마다 호출되는 함수로, 객체가 지속적으로 업데이트해야 하는 경우 사용됩니다. DeltaTime 매개변수는 프레임 간 시간 차이를 나타내며, 이를 통해 프레임 속도에 관계없이 일정한 속도로 게임 로직을 처리할 수 있습니다. 캐릭터 움직임이나 애니메이션 업데이트 등에 자주 사용됩니다.
    virtual void Tick(float DeltaTime) override;
    
    
  3. EndPlay(const EEndPlayReason::Type EndPlayReason):
    • 게임이 종료되거나 객체가 제거될 때 호출되는 함수입니다. 이 함수는 자원을 해제하거나 종료 작업을 수행할 때 유용합니다. 예를 들어, 네트워크 연결을 끊거나 특정 이벤트를 중지시키는 작업을 처리할 수 있습니다.
    virtual void EndPlay(const EEndPlayReason::Type EndPlayReason) override;
    
    
  4. PostInitializeComponents():
    • 모든 컴포넌트가 초기화된 후에 호출됩니다. 주로 컴포넌트와 관련된 추가 작업이나 설정이 필요할 때 사용됩니다. 이 함수는 BeginPlay 전에 호출되며, 모든 컴포넌트가 준비된 후 로직을 실행하는 데 유용합니다.
    virtual void PostInitializeComponents() override;
    
    
  5. OnConstruction(const FTransform& Transform):
    • 에디터에서 액터가 배치되거나 수정될 때 호출되는 함수입니다. 주로 에디터에서 객체를 배치한 직후 초기화 작업을 수행할 때 사용됩니다. 이는 게임플레이와는 별도로 에디터 상에서의 객체 작업에 주로 활용됩니다.
    virtual void OnConstruction(const FTransform& Transform) override;
    
    
  6. Destroyed():
    • 객체가 파괴될 때 호출되는 함수입니다. 이 함수는 객체의 메모리 해제 및 관련 자원 정리를 위한 작업을 처리할 때 유용합니다.
    virtual void Destroyed() override;
    
    

라이프 사이클의 흐름:

  1. 객체가 생성되면 → OnConstruction() 호출
  2. 게임 시작 시 → BeginPlay() 호출
  3. 게임이 실행 중이면 매 프레임마다 → Tick() 호출
  4. 객체가 파괴되거나 게임이 끝나면 → EndPlay()Destroyed() 호출

활용 예시:

  • BeginPlay에서는 게임 시작 시 필요한 데이터를 로드하거나, 초기 설정을 할 수 있습니다.
  • Tick은 캐릭터의 움직임을 매 프레임마다 업데이트하거나, 타이머 기능을 구현할 때 사용됩니다.
  • EndPlay와 Destroyed는 게임이 종료되거나 객체가 파괴될 때 자원을 정리하거나, 종료 이벤트를 처리하는 데 유용합니다.

이러한 라이프 사이클 함수들은 언리얼 엔진에서 액터와 컴포넌트의 생명 주기를 관리하는 데 필수적이며, 객체의 상태 변화를 체계적으로 처리할 수 있게 해줍니다(Unreal Engine)(Puget Systems).


🎬 유튜브 채널 🎬

 

위로그@WiLog

📢 안녕하세요, 위로그@WiLog 시청자 여러분, 저는 윌리 입니다. 📢 위로그@WiLog 는 자기주도학습을 목적으로 라이브 스트리밍을 합니다. 📢 1인 게임 개발을 목표로 Unreal과 Blender를 학습 중입니

www.youtube.com

 

🎬 치지직 채널 🎬

 

위로그 채널 - CHZZK

지금, 스트리밍이 시작됩니다. 치지직-

chzzk.naver.com

 


반응형