게임프로그래밍/실습2
[실습2] 17. HUD 만들기
우승자는메이
2024. 11. 29. 10:28
1. HUD 클래스 생성
HUD 클래스를 만들어 위젯을 등록해보도록 하자.
C++ 클래스를 먼저 생성하자.
위젯을 HUD에 그리기 위해서는 인스턴스를 저장할 변수와 이 인스턴스의 타입을 정할 클래스가 필요할 것이다.
class PRACTICE2_API AAuraHUD : public AHUD
{
GENERATED_BODY()
public:
UPROPERTY()
TObjectKey<UAuraUserWidget> OverlayWidget;
private:
UPROPERTY(EditAnywhere)
TSubclassOf<UAuraUserWidget> OverlayWidgetClass;
};
이제 제대로 만들어졌는지 테스트를 해보자. 단순히 비긴 플레이 함수에서 위젯을 보여주는 작업을 할 것이다.
void AAuraHUD::BeginPlay()
{
Super::BeginPlay();
UUserWidget* Widget = CreateWidget<UUserWidget>(GetWorld(), OverlayWidgetClass);
Widget->AddToViewport();
}
이제 이를 기반으로 블루프린트 클래스를 만들고 화면에 제대로 나오는지 확인을 해보자.
게임모드에서 HUD를 설정해주면 된다.
위젯이 정상적으로 나온다.
다음에는 컨트롤러를 이용해서 이 위젯의 값들 실제로 지정하는 방법을 알아보자