인프런 커뮤니티 질문&답변
LyraFrontEnd 에서 로딩화면에서 넘어가지 않는 원인이 뭔지 질문드립니다.
해결된 질문
작성
·
29
0
안녕하세요 Lyra 클론 코딩 강의를 보면서 Lyra 의 이것저것을 살펴보던 중
lyra 코드를 살펴보니 L_LyraFrontEnd 라는 Level 이 있는 것을 발견하고 강의에서 다룬 L_DefaultEditor 에 추가로
L_LyraFrontEnd 라는 것을 클론하면서 시작화면을 구성해보는 공부를 하고 있었습니다.
클론 작업을 하다가 로딩화면에서 다음으로 넘어가지 않는 문제가 있어서 혹시 제가 어느 부분을 놓치고 있는지 조언을 얻을 수 있을까 하여 질문드립니다.
해당 질문이 현재 강의 내용을 벗어나기에 대답이 어려울 수 있으나 혹시나 하여 질문드립니다.
요약 :
void ULyraFrontendStateComponent::FlowStep_TryShowPressStartScreen(FControlFlowNodeRef SubFlow)
함수의
if (!UserSubsystem->ShouldWaitForStartInput())
에서 if 문을 타지 않는데 ShouldWaitForStartInput 를 설정하는 부분은 lyra 에서 어디일까요?
자세히 설명 :
흐름은 다음과 같습니다.
Lyra 에서는 L_LyraFrontEnd 를 실행하면서 B_LoadRandomLobbyBackground 가 실행되면서 로딩화면이 나오고
로딩 화면 다음으로 넘어가면서 B_LyraFrontEndExperience 에서 Add Component 를 통해 추가한 B_LyraFrontendStateComponent 가 실행되면서 메뉴창 이 나옵니다.
동일한 내용을 Clone 하다보니 1. 번의 로딩화면에서 그다음으로 넘어가지 않는 문제가 발생하였습니다.
로그를 살펴보면
LogLyraExperience: EXPERIENCE: OnExperienceLoadComplete(CurrentExperience = LyraExperienceDefinition:B_LyraFrontEnd_Experience, Server)
LogCommonSession: Session state is NoSession
LogBlueprintUserMessages: [B_LoadLobby_C_3] Lobby background loaded
LogBlueprintUserMessages: [B_LoadLobby_C_3] Lobby background shown
LogBlueprintUserMessages: [B_LoadLobby_C_3] Unknown
LogLoadingScreen: Loading screen showing: 1. Reason: Try Show Press Start Screen
LogLoadingScreen: Loading screen showing: 1. Reason: Try Show Press Start Screen
LogLoadingScreen: Loading screen showing: 1. Reason: Try Show Press Start Screen
LogLoadingScreen: Loading screen showing: 1. Reason: Try Show Press Start Screen
LogLoadingScreen: Loading screen showing: 1. Reason: Try Show Press Start Screen 이라는 로그가 주기적으로 찍히면서 로딩 화면에서 넘어가지 않았고
코드를 살펴보니
void ULyraFrontendStateComponent::FlowStep_TryShowPressStartScreen(FControlFlowNodeRef SubFlow) 에서
if (!UserSubsystem->ShouldWaitForStartInput())
해당 if 문 내부로 들어가야하는데 들어가지 못하고 있었습니다.
그렇다면 press start 라는 입력을 대기하고 있다는 것 같은데 lyra 프로젝트에서는 따른 키 입력 없이 자동으로 로딩화면이 넘어갔기에 어디선가 설정을 빼먹은 것 같습니다.
혹시 해당 설정 관련하여 놓친 부분이 어디인지 알 수 있을까요?
감사합니다.
답변 2
0
Lyra에서 CommonUI의 입력기반의 UI 시스템을 적극 활용하고 있어서 CommonUI 쪽을 깊게 공부하지 않으시면 디버깅 하실 때 지금처럼 방향 자체를 잡기가 어려워서
일단 클론 코딩으로 CommonUI에 대한 전반적인 방법을 잡고 그 다음 깊게 공부하시면 전체 세팅 방향이 보이실꺼에요.
0
안녕하세요, 인프런 AI 인턴입니다. 이상훈님.
Lyra 프로젝트의 L_LyraFrontEnd 레벨에서 발생하는 문제를 잘 설명해주셨습니다. 이 문제는 주로 ShouldWaitForStartInput 함수가 원하는 값으로 설정되지 않아서 발생하는 것으로 보입니다.
Lyra 프로젝트에서는 특정 값이나 설정이 사용되어, 자동으로 로딩 화면을 넘길 수 있도록 설계되어 있을 가능성이 있습니다. ShouldWaitForStartInput 함수가 false를 반환해야 다음 화면으로 넘어갈 텐데, 해당 조건이 충족되지 않는 것으로 보입니다. 아래는 문제를 해결하기 위한 몇 가지 제안을 드립니다.
Lyra User Subsystem 확인:
UserSubsystem의 객체가 생성될 때 초기화를 확인해보세요. 해당 객체의 초기화 로직에서ShouldWaitForStartInput의 값을 설정할 때 어떤 조건이 필요한지 살펴보시기 바랍니다.
LyraFrontEnd State 및 Flow 설정:
ULyraFrontendStateComponent에서FlowStep_TryShowPressStartScreen함수가 호출될 때, 전체적인 flow가 올바르게 설정되어 있는지 체크해보세요.SubFlow객체가 있어야 하고, 그에 따라 흐름이 진행되어야 합니다.
키 입력 설정 확인:
- 게임 설정에서 사용자가 특정 입력 없이 로딩 화면을 넘기도록 하는 설정을 확인해보세요. Lyra의 프론트엔드 설정에서 관련 옵션이 누락되지 않았는지 살펴보세요.
- 게임 설정에서 사용자가 특정 입력 없이 로딩 화면을 넘기도록 하는 설정을 확인해보세요. Lyra의 프론트엔드 설정에서 관련 옵션이 누락되지 않았는지 살펴보세요.
관련 질문과 답변을 참고하실 수 있는 몇 가지 게시물을 소개합니다:
- 언리얼엔진에서 키 입력 제어 관련 문제 해결: 유사한 문제를 다뤘던 질문과 답변이 있는 게시물입니다.
- UE5 Lyra 프로젝트에서 특정 액션을 통한 상태 전환: Lyra에서 상태 전환 문제를 해결했던 다른 학습자의 질문과 해답이 도움될 수 있을 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.






답변 감사드립니다.
문제를 해결하여,
혹시 비슷한 문제를 겪을 수 있는 다른 분들을 위해 설명을 남깁니다.
원인을 분석하다보니 콘솔 플랫폼의 경우에 입력을 대기하는 용도의 함수였습니다.
pc 에서는 바로 시작하도록 설정이 되어야 하는데 그것을 플랫폼별 .ini 에 설정을 해놓았더라구요
WindowsGame.ini 의
[/Script/CommonUI.CommonUISettings]
+PlatformTraits=(TagName="Platform.Trait.SingleOnlineUser")
를 추가하면 됩니다.
플랫폼을 구분짓지 않았다면 DefaultGame.ini 에 넣으시면 됩니다.