UE5 부트캠프(TIL)

[TIL] 언리얼 UMG 위젯 & 게임 데이터 연동

Yellow Kirin 2025. 7. 21. 21:42

1. UMG 위젯이란?

  • 언리얼 엔진의 기본 UI(사용자 인터페이스) 시스템
  • 블루프린트/코드에서 HUD, 체력바, 타이머 등 게임 정보를 화면에 표시할 수 있음

2. UMG 위젯 제작 과정

  1. 위젯 블루프린트 생성 (예: MyHUDWidget)
  2. ProgressBar(체력), TextBlock(시간/타이머) 등 원하는 위젯 배치
  3. 디자인/애니메이션 설정도 가능

3. 게임 데이터(시간, 체력, 타이머 등) 연동 방법

  • Bind 방식: 위젯의 Text, ProgressBar 등 UI 요소에 함수 바인딩
    이벤트 방식: 캐릭터, 게임모드 등에서 데이터가 바뀔 때마다 위젯에 값 전달

// MyHUDWidget.h
UFUNCTION(BlueprintImplementableEvent)
void SetHealth(float NewHealth);

UFUNCTION(BlueprintImplementableEvent)
void SetGameTime(int32 Seconds);

// 캐릭터/게임모드에서
MyHUDWidget->SetHealth(CurrentHealth);
MyHUDWidget->SetGameTime(GameSeconds);

4. 타이머 및 실시간 UI 갱신

  • GetWorld()->GetTimeSeconds() 등으로 게임 시간 확인
  • FTimerHandle을 활용해서 주기적으로 위젯 데이터 갱신

5. TIL 한줄 요약

  • UMG 위젯은 언리얼에서 게임 데이터를 실시간 시각화하는 가장 기본적인 도구!
  • 블루프린트와 C++ 어디서든 체력/타이머/점수 등 다양한 데이터를 손쉽게 연동할 수 있다.
  • 바인딩과 직접 호출 방식을 적절히 섞어, 원하는 HUD를 자유롭게 구현 가능.