언리얼엔진/언리얼 C++

객체를 따라다니는 UI

season97 2024. 10. 25. 17:45

 개인적인 공부를 위해 포스팅 하는 글입니다.


# 화면에 떠있는 HUD가 아니라 객체를 따라다니는 UI를 만들고싶다... 적 위에 떠있는 체력바 느낌?

 

ㆍ 화면 전체에 나오는 UI가 아니기 때문에 Fill Screen이 아니라 Desired로 옵션을 바꿔주자.

ㆍ 변수로 승격해서 이렇게 관리하는 구조가 되게 자주 쓰인다고 하니 기억해두자.

 

ㆍ 쓰고 싶은 부분에서 컴포넌트로 추가할 수 있다. (테스트를 위한거라 일단 그냥 붙힘)

 

★ 그냥 쓰면 얘는 더이상 화면에 떠있는 UI좌표가 아니라 월드오브젝트의 좌표가 되어버린다

ㆍ 아니 그럼... 이렇게 회전값으로 인해 이상하게 UI가 나온다...

동그라미친 옵션(스페이스) 를 Screen으로 교체해 주면 카메라 방향을 기준으로 회전을 해주는 효과. 즉 스크린에다가 UI를 그려주는 효과를 얻을 수 있다.

 

 


# 위 작업들을 전부 C++로 옮겨보자

ㆍ 상속을 받는 클래스 생성 + 해당 모듈 추가.

 

코드 정의 후 캐릭터클래스로 가 HpBar를 바인드해주자

ㆍ 텍스트의 빈 경로엔 파일경로 붙혀줄것

ㆍ 이미 만들어져있는 위젯의 부모를 내가 만든거로 교체해주기 위해 클래스 세팅을 해주자.

변수명과 이거 이름을 같게 해줘야지만 언리얼에서 이걸 찾을 수 있으니, 주의하자

 

BP_ 베이스였다면 경로 뒤에_C를 붙혀줘야 작동함.

 

 

※ 뭐. 그 다음부턴 내 프로젝트 구조에 추가해줄 부분에 추가해주는 거라 포스팅할 내용이 없다. 데미지 처리를 해주고 나면 UI가 잘 바인드 될 것

 

ㆍ 데미지 처리 연동도 잘 된다.