Unreal C++ · HUD

HUD는 표시 위젯이 아니라 데이터 전달 경계를 검증하는 지점입니다

체력과 탄약 예제를 실제 프로젝트에 넣기 전에는 값의 소유자, 갱신 호출, 위젯 바인딩, 실패 처리 위치를 함께 확인합니다.

State

값의 소유자

체력과 탄약은 캐릭터나 전투 시스템이 갖고 HUD는 복사본만 표시합니다.

Signal

변경 통지

값이 바뀐 순간 컨트롤러의 OnHealthChanged 같은 함수로 전달합니다.

Widget

화면 반영

UpdateHealthUpdateAmmo는 위젯 속성만 바꿉니다.

Guard

없을 때 분기

위젯 클래스, 인스턴스, 바인딩 대상이 없을 때 로그와 기본값을 둡니다.

디자이너에서 맞출 것

UMG

이름 일치

BindWidget 변수명과 UMG 위젯 이름을 똑같이 둡니다.

변수 노출

ProgressBar와 TextBlock은 Is Variable 설정을 켜 둡니다.

C++에서 막을 것

runtime

널 검사

위젯 생성 실패와 컨트롤러 캐스팅 실패를 정상 분기로 처리합니다.

범위 고정

체력 비율은 FMath::Clamp로 0에서 1 사이에 묶습니다.

완료 기준

게임 상태를 바꾸는 코드 없이 HUD 표시만 바꿀 수 있고, HUD 위젯이 없어도 게임플레이가 계속 진행되면 책임 분리가 잘 된 구조입니다.