HUD (Heads-Up Display)
- 플레이어에게 정보를 제공하기 위한 화면.
- 현재 게임 상황을 이해하는 데 필요한 체력, 미니맵 같은 정보를 제공.
언리얼 엔진의 HUD
- Canvas 기반 HUD:
- AHUD 클래스를 상속하여 구현
- 기본적인 2D 그리기 작업(텍스트, 이미지 등) 가능
- 레거시 방식으로 간주되며, 간단한 HUD에 적합
- UMG (Unreal Motion Graphics):
- 언리얼 엔진의 Widget Blueprint를 이용한 UI 시스템
- 더 직관적이고 강력한 HUD 디자인 가능
- 다양한 위젯(Text, Button, Image 등)을 사용하여 HUD를 제작
Widget Blueprint
언리얼 엔진에서 UI를 설계할 수 있도록 제공 되는 에디터용 블루 프린트입니다.
Widget Blueprint 생성
화면 우측 상단의 Designer 버튼을 눌러 여러 요소를 배치할 수 있습니다.
화면 크기 설정
화면에 배치되는 UI 들을 화면의 크기에 맞게 보일 수 있게 아래의 설정을 해줍니다.
CPP 작성시 주의 사항
코드에 'CreateWidget'을 사용해서 작동하려면 UMG 모듈이 빌드 설정에 추가되어 있어야 합니다.
해당 모듈을 넣어주지 않으면 빌드가 오류가 생깁니다.
using UnrealBuildTool;
public class Cpp_Project : ModuleRules
{
public Cpp_Project(ReadOnlyTargetRules Target) : base(Target)
{
PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;
PublicDependencyModuleNames.AddRange(new string[] {
"Core",
"CoreUObject",
"Engine",
"InputCore",
"EnhancedInput",
"UMG" // UMG 추가
});
PrivateDependencyModuleNames.AddRange(new string[] { });
// Uncomment if you are using Slate UI
// PrivateDependencyModuleNames.AddRange(new string[] { "Slate", "SlateCore" });
// Uncomment if you are using online features
// PrivateDependencyModuleNames.Add("OnlineSubsystem");
// To include OnlineSubsystemSteam, add it to the plugins section in your uproject file with the Enabled attribute set to true
}
}
출처
https://teamsparta.notion.site/17-UI-7c64183faca04620b4c08373f4e57956
'게임 개발 공부 > Unreal Engine' 카테고리의 다른 글
UE로 '::' (범위 지정 연산자), '.', '->' (멤버 접근 연산자) 정리 (0) | 2025.02.12 |
---|---|
Widget에서 애니메이션 적용 (0) | 2025.02.10 |
GameState & GameMode (0) | 2025.02.06 |
TObjectPtr & TSubclassOf & TSoftObjectPtr (0) | 2025.02.05 |
콜리전 프리셋 (Collision Preset) (0) | 2025.02.03 |