오늘의 작업 계획
퀘스트 선택 UI에서 손님 부르기 버튼 클릭-> 손님 호출 로직 연결하기
Ingredient/Potion 및 가마솥 투입 상태 HUD
작업내용
퀘스트 선택 UI에서 손님 부르기 버튼 클릭-> 손님 호출 로직 연결하기
[오류]
함수는 이렇게 구현되어있는데 로그를 찍어보니까 함수 진입 되고, SelectedQuestID가 비어있지 않은데 손님이 호출되지 않음.
void UCPQuestSelectWidget::HandleCallButtonClicked()
{
UE_LOG(LogTemp, Warning, TEXT("[QuestSelectWidget] HandleCallButtonClicked 함수 진입"));
// 임시 QuestId 선택 이후 Player가 조작 가능한 방법으로 변경
if (SelectedQuestId.IsNone())
{
UE_LOG(LogTemp, Error, TEXT("[QuestSelectWidget] SelectedQuestId가 비어있습니다"));
return;
}
UWorld* World = GetWorld();
if (!World) return;
ACPNPCSpawner* Spawner = Cast<ACPNPCSpawner>(UGameplayStatics::GetActorOfClass(World, ACPNPCSpawner::StaticClass()));
if (!Spawner || !Spawner->SpawnNPC((SelectedQuestId))) return;
ACPLabGameMode* LabGameMode = World->GetAuthGameMode<ACPLabGameMode>();
if (!LabGameMode || !LabGameMode->StartPotionRequest(SelectedQuestId)) return;
RequestClose();
}

NPC 스포너가 테스트 맵에 설치되어있지 않아서 생기는 문제인 것 같아 해당 부분 확인을 위한 로그를 추가했다.
ACPNPCSpawner* Spawner = Cast<ACPNPCSpawner>(UGameplayStatics::GetActorOfClass(World, ACPNPCSpawner::StaticClass()));
if (!Spawner || !Spawner->SpawnNPC((SelectedQuestId)))
{
UE_LOG(LogTemp, Error, TEXT("[QuestSelectWidget] NPC 스포너가 설치되어있지 않습니다."));
return;
}
ACPLabGameMode* LabGameMode = World->GetAuthGameMode<ACPLabGameMode>();
if (!LabGameMode || !LabGameMode->StartPotionRequest(SelectedQuestId)) return;

아니나 다를까.

NPC 스포너를 설치했더니 정상작동한다. 해결 완료!
새로 발견한 오류들 (후에 작업 예정)
[오류]
QuestJournal을 마우스 클릭으로 껐을 때 마우스가 사라지지 않는 오류.
타이틀 화면에서 페이드인 애니메이션이 완료되지 않았을 때 새로하기 버튼을 누르면 렉이 걸리는 오류.
Ingredient/Potion 및 가마솥 투입 상태 HUD

확정하기 버튼이 마우스 클릭이어야하는가?
키보드인게 나을 것 같음 -> 상호작용 UI 재사용 가능
그런데 일반 상호작용이랑 같은 키면 실수로 누를 위험성이 존재함.
(회의에서 한 번 이야기 해보기)

퀘스트 - 현재 목표로 설정 같은 버튼 추가해서 현재 목표 HUD로 띄우는게 낫지 않을까?
목표를 퀘스트랑 다르게 하려면 또 상황 따라 스크립트 다르게 설정해야되긴 할 것 같은디
'Unreal5 공부 > TIL' 카테고리의 다른 글
| 2026/08/25 TIL (0) | 2026.08.25 |
|---|---|
| 2026/08/21 TIL (0) | 2026.08.21 |
| 2026/08/19 TIL (0) | 2026.08.19 |
| 2026/08/18 TIL (0) | 2026.08.18 |
| 2026/08/11 TIL (0) | 2026.08.11 |