HP_Bar 구현
게임속 체력을 표시해주는 체력바 또한 UI이며 Widget BP로 구현한다.
WBP_Guage 생성하고 Crosshair 만들었듯이 만들면 되지만 HP_Bar는 ProgressBar로 만든다.

ProgressBar
팔레트의 일반 카테고리에 있으며 0% ~ 100%의 값을
시각적으로 알리고 싶을때 사용
ex ) 로딩바, 다운로드 진행도, 체력바, 주문 캐스팅 진행도
변수인지를 체크해야 이벤트 그래프에서 변수로 사용가능
Padding : 여백의 크기값, 상하좌우 개별설정가능하다
Percent : 0~1, Ratio
Bar Fill Type : ProgressBar의 값이 어느방향에서 어느방향으로 채워질지 선택
Fill Color and Opacity : RGBA, HSV 선택가능
H : 색상 S : 채도 V : 명도
SIze Box
미리 크기를 정해 놓아 화면의 크기나 비율이 바뀌어도 미리 정한 해상도로 내부 컨텐츠를 맞춰주는 패널



WBP_Guage는 SizeBox → Border(경계선 그리는 기능) → ProgressBar로 구성된다

이렇게 만들어진 WBP_Gauge는 사용자 생성 카테고리에 저장 되어
Canvas → SizeBox → Border → ProgressBar를 만들고 싶으면 Canvas → WBP_Gauge로 똑같은걸 만들 수 있다.

색을 변경시키는 기능과 현재값으로 Percent가 바뀌게 하는 기능을 위해 Interface를 추가해준다.
Enemy HP_Bar구현
적의 체력바는 적의 머리위에 생성 시켜줄거라서 WBP_Gauge를 Canvas안에 생성하지 않았다.


BP_Enemy에서 Widget 컴포넌트를 생성하고 Widget Class에서 만들어둔 WBP_Gauge를 선택하고 원하는 사이즈에서 드로를 누르면 SizeBox에서 설정한 크기 만큼으로 변경된다


Space를 World로하면 월드스페이스로 위젯이 나오기 때문에 앞은 보이는데 뒤는 안보이는 현상이 일어나는데
Space를 Screen으로 변경해주면 된다.


Player HP_Bar 구현


플레이어의 체력바는 스크린에 띄워야하기 때문에 Canvas를 사용해야해서 WBP_Gauge를 쓸수없어 WBP_PlayerGauge를 따로 생성, 플레이어 체력바도 관리 해야하니 Enemy 체력바에 사용한 BP_Gauge Widget Interface 추가





위 방식은 체력바 하나에 해당하는 설계이므로 MP_Bar나 Stamina_Bar에 관해서는 새로운 인터페이스를 만들어야한다.
BP_Player에서 BP_PlayerController를 호출
↓
BP_PlayerController에서 WBP_PlayerGauge를 호출
↓
WBP_PlayerGauge에서 WBP_Gauge를 호출
'언리얼 BluePrint 정리' 카테고리의 다른 글
| 07/12 학습 정리 ( 전투 모드 구현 ) (0) | 2023.07.13 |
|---|---|
| 07/07 학습 정리 ( Behavior Tree, BlackBoard ) (0) | 2023.07.09 |
| 07/04 학습 정리( Crosshair 구현 ) (0) | 2023.07.04 |
| 07/03 학습 정리 ( Timeline, Zoom 구현 ) (0) | 2023.07.03 |
| 06/30 학습 정리 ( Apply Radial Damage, Memory Pool ) (0) | 2023.07.02 |