Make Unreal REAL.
article thumbnail
이득우의 언리얼 C++ 게임 개발의 정석

 

언리얼 엔진은 액터에 UI 위젯을 부착할 수 있도록 UWidgetComponent 컴포넌트를 제공한다.

 

언리얼 C++에서 Widget 컴포넌트를 사용하기 위해서는 UMG 모듈을 프로젝트에 추가해야 한다.

 

{프로젝트명}.Build.cs 파일에서 "UMG" 모듈을 추가한다.

언리얼 빌드 툴(Unreal Build Tool)은 언리얼 C++ 프로젝트를 관리한다.
UBT가 Build.cs 파일을 분석해 컴파일 설정을 조정했기 때문에, UMG 모듈의 헤더 파일 경로도 바로 쓸 수 있도록 기본 경로로 설정된다.

 

 

UMG 모듈은 UE4 프로젝트 내의 Source > Runtime > UMG 폴더에 위치한다.

 

 

캐릭터 클래스에 위젯을 추가해본다.

 

Widget 컴포넌트를 사용하기 위해 헤더를 포함한다.

 

 

Widget 컴포넌트를 생성하고 Mesh의 자식으로 만든다.

 

 

위젯의 Z축 위치를 조정해 Mesh의 머리 위에 오도록 한다.

 

UWidgetComponent->SetWidgetSpace() 함수를 이용해 스크린 상에서 항상 플레이어를 바라보고(Billboard) 일정한 크기를 유지하도록 한다.

 

위젯은 오브젝트가 아니므로 Class를 찾고 블루프린트 형식이므로 에셋 명 뒤에 _C를 붙여 가져온다.

 

UWidgetComponent->SetWidgetClass() 함수를 이용해 컴포넌트에 위젯을 지정해주고,

UWidgetComponent->SetDrawSize() 함수를 이용해 크기를 지정해준다.

 

 

캐릭터 위에 체력바 UI 위젯을 추가했다.

 

 

참고로 UWidgetComponent->SetWidgetSpace() 함수에서 위젯 공간을 EWidgetSpace::World로 설정하면 아래와 같은 모습이 된다.

  • 위젯이 플레이어를 바라보지 않고 고정되어 있다.
  • 멀고 가까움에 따라 크기가 일정하지 않고 원근감이 생긴다.

 

profile

Make Unreal REAL.

@diesuki4

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그