체력 바
게임의 완성도를 추가적으로 높이기 위해 좌측 하단에 체력 바를 만들어주자.
기존 HUD를 이용하여 만들어주는데 우리는 progress 바를 사용한다.
progress 바에는 퍼센트가 존재하며, 이를 통해 체력을 조절하게 될 것이다.
색상도 원하는 대로 변경해주자.
플레이해보면 크로스헤어와 같이 체력 바도 같이 보인다.
하지만 실제 체력과 연동은 되지 않은 상태이므로, 이에 대한 작업을 해주어야 한다.
ShooterCharacter 클래스에 체력 퍼센트를 얻기 위한 함수를 선언해주자.
블루프린트에서 접근해서 작업할 것 이기에, UFUNCTION으로 선언해준다.
구현 내용은 간단하다.
현재 체력 / 최대 체력으로 비율을 구해주면 된다.
이제 이를 연동시켜주어야 하는데, Percent에 Create Binding 칸이 있다.
이를 눌러보면 블루프린트 화면이 생성된다.
이제 해당 블루프린트를 통해 체력을 할당해주자.
체력은 ShooterCharacter 클래스에 존재하므로, 우선 폰을 얻어서 해당 클래스로 캐스트를 해준다.
캐스트 해준 값을 통해 해당 클래스에 존재하는 Get Health Percnet 함수를 가져와 실제 체력을 리턴하게 된다.
이제 실제 체력을 반영하는 체력 바가 생성되었다.
여기에 추가적으로 플레이어와 적의 체력이 달라지도록 해보자.
이를 위해 기존 BP_ShooterCharacter 클래스에 자식 블루프린트 클래스를 생성해주자.
다음으로 플레이어를 다르게 나타내기 위해 다른 메시를 오버라이드 해주고, 최대 체력 또한 변경해주었다.
해당 블루프린트를 플레이어로 사용할 것이기 때문에, 디폴트 폰 클래스를 만든 클래스로 변경해주자.
AI는 기존 BP 클래스를 통해 직접 화면에 배치하였기에 오버라이드된 플레이어 BP 클래스와 다른 Mesh, 다른 체력을 가지게 된다.
'Unreal > Udemy 강의' 카테고리의 다른 글
Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 6-50 (0) | 2024.07.29 |
---|---|
Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 6-49 (0) | 2024.07.29 |
Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 6-47 (0) | 2024.07.27 |
Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 6-46 (0) | 2024.07.26 |
Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 6-45 (0) | 2024.07.25 |