먼저 다음과 같이 틀을 제거하고 progressbar를 하나 생성한다
그런다음 actor 블루프린트를 하나 생성하고 컴포넌트 추가 -> 위젯 을 불러온 뒤
위젯을 방금 생성한 몬스터 HPBar 위젯으로 지정하고 x축 크기를 90, y축 크기를 10으로 지정한다
그리고 update location이라는 함수를 하나 생성해서 다음과 같이 연결한다
이제 이 액터 블루프린트를 몬스터 블루프린트에 따라다니도록 할 것이다
먼저 큐브 컴포넌트를 하나 추가해서 몬스터 머리위에 고정시켜준다
그리고 몬스터 블루프린트에서 게임이 시작하면 spawnActor노드를 통해 방금 생성한 HPBar블루프린트를 생성할 것이다
HPBar의 위치는 더미큐브로 받아오고 HPBar를 참조하는 변수에 저장한다
그리고 Tick 이벤트에서 HPBar 함수였던 Update Location을 HPBar 함수를 참조하는 변수 CharHPBar Actor 에서 가져와 새로운 위치를 지정해준다.
더미 큐브는 렌더링->Hidden in Game을 통해 실제 게임에선 안보이도록 한다
HPBar 블루프린트에서 progressbar를 참조하는 PB_HPBar 변수를 생성한 뒤,
Monster HPBar 위젯의 hpbar를 저장한다
그리고 다음과 같은 함수를 하나 생성해준다
그리고 몬스터가 피격당해 hp가 깍이는 부분을 찾아 update HPBar노드를 추가해주면 된다
만약 몬스터가 죽었으면 더이상 Update Location 함수를 실행하지 않도록 한다
그리고 몬스터 액터가 삭제되기 전에 hpbar 액터가 삭제되도록한다
'언리얼 개인 프로젝트 > 언리얼 블루프린트' 카테고리의 다른 글
언리얼 몬스터 피격 시 데미지 스킨 (0) | 2022.08.11 |
---|---|
언리얼 보스 체력바 ui 블루프린트 (0) | 2022.08.10 |
언리얼 체력바 마나바 UI 블루프린트 (0) | 2022.08.08 |
언리얼 카메라 진동 (0) | 2022.08.07 |
언리얼 몬스터 피격 모션 애니메이션 (0) | 2022.08.07 |