오늘 작업 내용
타이틀 화면 책 넘어가는거 구현하는 방법 알아보기
필요한 Asset 옮기기
퀘스트창 UI 디자인
타이틀 화면 넘어가는 연출 구현
- 플러그인 필요
https://fab.com/s/14056c950f5b
Animated Book Menu
-- Videos and Links --Demo Use Case VideoGetting Started Video Tutorial 🚀🚀🚀 Join the Discord and stay up to date. 🚀🚀🚀-- Releases --Plugin Version 1.7.0Supported Engine Versions UE5.1 - UE5.7Plugin Version 1.4.1Supportet Engine Versions in
www.fab.com
플러그인 사용 튜토리얼
https://www.youtube.com/watch?v=IfoUWlOBHkM
가격: 23300원
figma로 Quest Journal 창 디자인
중대한 오류 발견!!

QuestJournal UI를 켜둔 채로 다른 레벨로 이동하게 되면 이런 오류가 발생한다.

Widget에 가비지컬렉션이 제대로 적용되지 않은 문제인가? -> FPopupEntry의 변수에 UPROPERTY() 추가
if (Index != INDEX_NONE)
{
UUserWidget* TargetWidget = OpenWidgets[Index].Widget;
if (IsValid(TargetWidget))
{
TargetWidget->RemoveFromParent();
}
OpenWidgets.RemoveAt(Index);
UpdateInputMode();
}
그리고 제거 전에 Index를 확인하도록 수정.
추가로 레벨 전환할 때 OpenWidgets 배열 내부에 있는 위젯들을 다 비워주는 것이 안전하다.
이렇게 수정한 뒤 UI를 켜둔 채로 레벨을 왔다갔다 했더니 다른 오류가 발생했다.

OpenWidgets 자체에 UPROPERTY()가 붙어있지 않아 추가해줬다.
UPROPERTY()
TArray<FPopupEntry> OpenWidgets;
추가로 작업한 것
기존의 PopupEntry Struct를 USTRUCT를 붙여서 헤더 파일 가장 위쪽에 위치시켜주기
+ PopupEntry의 Widget을 WeakPtr로 바꾸기

Widget을 WeakPtr로 바꿨기 때문에 Get()함수를 통해 위젯을 가져오도록 변경.
여기서 Get() 함수를 통해야만 하는 이유는? -> 포인터는 주소를 가지고 있을 뿐. 알맹이를 가져오기 위해서 Get()함수를 거침
문제 해결!
[오류] 퀘스트 선택창에서 취소 버튼을 눌러도 UI가 꺼지지 않는 현상

void UCPQuestSelectWidget::HandleCancelButtonClicked()
{
// TODO: UI 닫기
CachedUIManager->CloseWidget(this);
}
현재 코드

'Unreal5 공부 > TIL' 카테고리의 다른 글
| 2026/08/21 TIL (0) | 2026.08.21 |
|---|---|
| 2026/08/20 TIL (0) | 2026.08.20 |
| 2026/08/18 TIL (0) | 2026.08.18 |
| 2026/08/11 TIL (0) | 2026.08.11 |
| 2026/08/10 TIL (0) | 2026.08.11 |