공부/Unreal Engine

[24.09.05] 언리얼 엔진5 HUD, 위젯 기초 및 활용 등

창작꾼 븐틴이 2024. 9. 5. 14:51
728x90
반응형

언리얼 엔진에서 HUD, 즉 전면에 표시되는 UI를 만들 수 있도록 준비된 것을 위젯이라 칭함

위젯 또한 위젯 블루프린트를 활용하여 구현

=> 전용 UI 디자인 툴이 있어 프로그래밍 없이도 UI 작성이 가능하다고 함

 

콘텐츠 드로어 -> 추가 -> 유저 인터페이스 -> 위젯 블루프린트

 

이젠 익숙한 노드 추가가 가능한 그래프 창과 기타 창들의 조화

현재 가운데 위치한 부분은 마우스로 UI를 디자인하는 공간인 '디자이너'라고 함. (그래프와 디자이너 총 2개의 모드가 있음)

 

위 팔레트에서 UI를 위한 부품들이 모여 있음

 

마치 예전에 윈도우폼과 비슷하기도 하면서, 피그마와도 비슷.

위처럼 원하는 형태로 UI 표시 가능.

캔버스 패널 : 다양한 UI 부품을 배치하는 기초가 됨

 

[만든 위젯 적용하기]

레벨 블루프린트 창 열어서 활용. 위젯 관련 노드 추가.

위젯 생성 노드

Class : 생성할 위젯의 클래스를 지정

Owining Player : 위젯을 소유할 플레이어를 지정

=> 플레이어의 뷰포트에 그대로 표시하기만 한다면, 특별히 지정할 필요 없음

Return Value : 생성된 위젯 오브젝트를 출력

 

만든 위젯, 레벨에 연결

 

ㅎㅇ.

 

텍스트 위젯 내 텍스트를 변경하기 위한 바인딩 설정

텍스트 위젯의 디테일 패널에서 바인딩 생성

그러면 노드를 생성/제거할 수 있는 그래프 공간으로 바뀜.

해당 공간에서 변수 생성 후 연결 진행.

 

만든 메시지 변수를 레벨 블루프린트에 활용.

SET 내 MESSAGE에 임의 텍스트 입력

 

그럼 입력한 임의 텍스트가 뷰포트에 보이게 됨.

 

[액터를 활용해 텍스트 표시 변경하기]

키보드 방향키 입력에 따라 액터가 움직이게끔 노드 설정

=> 방향키로 액터 제어 가능

 

트리거 : 터치하면 이벤트를 발생하지만, 보이지 않고 존재하지 않는 액터.

트리거와 닿았을 때 발생하는 이벤트를 오버랩 이벤트라고 칭함.

트리거 박스 생성 후 활성화, 오버랩 이벤트 생성

=> 레벨에 트리거 박스 추가됨

 

위젯 변수화 및 아까 만든 거와 연결

 

//

 

OnActorBeginOverlap 이벤트 생성

트리거와 접촉할 때 발생하는 이벤트는 다음 두 가지

OnActorBeginOverlap : 트리거와 접촉했을 때의 이벤트

OnActorEndOverlap : 접촉한 트리거에서 떨어졌을 때의 이벤트

트리거와 접촉했을 때의 접촉 횟수를 뷰포트 HUD에 출력하는 노드.

스트링끼리 덧붙히는 노드와 숫자를 더하는 노드 등을 활용.

728x90
반응형