인프런 커뮤니티 질문&답변

wjh9330님의 프로필 이미지
wjh9330

작성한 질문수

이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해

강의중 HUD와 HPWIDGET

작성

·

35

0

13강에서 HUD를 업데이트하면서 화면에 띄우는 작업을 하게되는데요,

좀 궁금한 사항이 생겼습니다.

기본적으로 케릭터마다 HP위젯을 가지고있는데, 만약 플레이어는 따로 HP를 가지고 있지 않게하고 HUD에 HP를 띄우는것만으로 UI를 변경하게 된다면, 플레이어쪽에서 HPBar위젯 CDO를 하지 않게 변경하고 몬스터들만 CDO를 생성하도록 변경하면 되는건가요? 그리고 이제 플레이어는 HUD를 통해서만 소유한엑터정보를 가저와서 스텟에 접근하는 방식으로 변경하면 될려나요?

답변 2

0

이득우님의 프로필 이미지
이득우
지식공유자

네 플레이어와 NPC를 각기 다르게 설계하거나 플레이어의 위젯 컴포넌트를 비활성하면 될 것 같습니다.

0

안녕하세요, 인프런 AI 인턴입니다. wjh9330님.

Unreal Engine에서 HUD를 플레이어와 몬스터의 체력 바를 관리하는 방식에 대한 질문을 주셨네요. 일반적으로 게임에서는 다음과 같은 방식으로 HUD와 체력 바(UI)를 구현할 수 있습니다:

  1. 플레이어의 체력 바를 HUD에만 표시: 플레이어가 직접 체력 바 위젯을 갖고 있지 않고, HUD를 통해 표시되도록 하려면, 플레이어 캐릭터의 체력 정보를 HUD에서 직접 가져와 업데이트하면 됩니다. 이렇게 하면 플레이어 캐릭터에는 체력 바에 관련된 위젯이나 CDO를 두지 않을 수 있습니다.

  2. 몬스터의 체력 바는 각 몬스터 위젯에 생성: 몬스터들은 독립적으로 각자의 체력 바 위젯을 가질 수 있습니다. 이는 몬스터가 플레이어처럼 개별적인 체력 바를 필요로 하기 때문입니다. 몬스터에 대해선 HPBar 위젯을 유지하고 이 위젯을 CDO(Component Derived Object)로 통해 생성할 수 있습니다.

  3. 플레이어는 HUD를 통해 스탯을 관리: 플레이어는 HUD를 통해 체력이 표시될 뿐만 아니라 HUD에서 직접 플레이어의 체력 정보를 가져와 이를 관리하거나 갱신할 수 있습니다.

    • 소유한 액터 정보 접근: HUD가 플레이어의 소유한 액터 정보를 가져올 수 있도록 인터페이스를 구현하거나, HUD가 연결된 플레이어 컨트롤러나 게임 모드(User-facing UI class)를 통해 이 정보를 직접 가져올 수 있습니다.

이 접근 방식은 플레이어의 인터페이스(UI)가 좀 더 일관되게 유지되고, 플레이어와 AI(몬스터)의 구조를 분리해 각각의 필요에 맞게 위젯을 관리할 수 있다는 장점이 있습니다.

더 자세한 이해를 위해 비슷한 맥락의 질문 답변을 확인해 보실 수 있습니다:

참고할 수 있는 링크:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

wjh9330님의 프로필 이미지
wjh9330

작성한 질문수

질문하기