이번 포스트에서는 이전까지 화면에 띄우기만 한 Tag별 메세지를
전용 UI를 만들어 프로젝트에서 사용해보겠습니다.
1) WBP_EffectMessage
AuraUserWidget을 상속받은 새로운 위젯 블루 프린트를 생성합니다.
해당 위젯의 계층 구조는 다음과 같습니다.
또, Image와 Text에는 애니메이션을 추가하여 UI로서의 효과를 추가하였습니다.
사용하는 함수는 다음과 같습니다.
우선, Event Graph에서 다음의 멤버 함수를 추가합니다.
DestroyDelay는 0.5초 뒤에 메세지 위젯을 파괴합니다.
이후 외부에서 사용할 함수를 정의합니다.
SetImageandText 함수는 인자로 Image와 Text를 받습니다.
우선, Text를 SetText로 TextMessage 변수에 저장합니다.
그리고 인자로 넣어준 Image가 유효하다면 다음의 로직을 수행합니다.
인자로 넣어준 Image를 Set Brush 함수를 통해 ImageIcon 변수에 저장합니다.
이때 이미지의 사이즈를 받아와 이미지의 크기를 조정합니다.
다음으로 이전에 만들어준 애니메이션을 재생하고, DestroyDelay를 통해 위젯을 파괴합니다.
2) WBP_Overlay
WBP_Overlay에서는 이전에 시퀀스에서 3단계의 로직의 구성을 변경합니다.
위와 같이 구성을 변경하여, 델리게이트에 넘겨진 Row로부터 Widget을 가져와
가져온 Widget이 WBP_EffectMessage인 경우, SetImageandText 함수를 호출하게끔 합니다.
그 후에 생성된 해당 위젯을 뷰포트에 추가합니다.
3) DT_MessageWidgetData
이를 위해 Row별로 위젯을 설정해야 합니다.
따라서 다음과 같이 기존의 데이터 테이블을 수정합니다.
이제 최종 실행결과를 확인해보겠습니다.
메세지 UI가 잘 동작하는 것을 확인할 수 있습니다.
'언리얼 > 게임 프로젝트' 카테고리의 다른 글
다커 앤 다커 모작 - 1일차_모듈과 플러그인 (0) | 2025.01.13 |
---|---|
GameplayAbilitySystem을 이용한 RPG 프로젝트 - (27) OverlayWidgetController 리팩토링 (0) | 2025.01.10 |
GameplayAbilitySystem을 이용한 RPG 프로젝트 - (25) Data Table을 활용하여 GE별 메세지 출력하기 (0) | 2025.01.09 |
Lyra 클론코딩 - (9 - 1) Camera_01 (0) | 2025.01.09 |
Lyra 클론코딩 - (8 - 3) PawnExtension_03 (0) | 2025.01.04 |