강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

이상훈님의 프로필 이미지
이상훈

작성한 질문수

[Rookiss University] UE5 Lyra 클론 코딩 (Haker)

PawnExtension #2

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 에서 어디일까요?

 

자세히 설명 :

흐름은 다음과 같습니다.

  1. Lyra 에서는 L_LyraFrontEnd 를 실행하면서 B_LoadRandomLobbyBackground 가 실행되면서 로딩화면이 나오고

  1. 로딩 화면 다음으로 넘어가면서 B_LyraFrontEndExperience 에서 Add Component 를 통해 추가한 B_LyraFrontendStateComponent 가 실행되면서 메뉴창 이 나옵니다.

  2. 동일한 내용을 Clone 하다보니 1. 번의 로딩화면에서 그다음으로 넘어가지 않는 문제가 발생하였습니다.

  3. 로그를 살펴보면

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

Liu님의 프로필 이미지
Liu
지식공유자

Lyra에서 CommonUI의 입력기반의 UI 시스템을 적극 활용하고 있어서 CommonUI 쪽을 깊게 공부하지 않으시면 디버깅 하실 때 지금처럼 방향 자체를 잡기가 어려워서

일단 클론 코딩으로 CommonUI에 대한 전반적인 방법을 잡고 그 다음 깊게 공부하시면 전체 세팅 방향이 보이실꺼에요.

이상훈님의 프로필 이미지
이상훈
질문자

답변 감사드립니다.

 

문제를 해결하여,

혹시 비슷한 문제를 겪을 수 있는 다른 분들을 위해 설명을 남깁니다.

 

원인을 분석하다보니 콘솔 플랫폼의 경우에 입력을 대기하는 용도의 함수였습니다.

pc 에서는 바로 시작하도록 설정이 되어야 하는데 그것을 플랫폼별 .ini 에 설정을 해놓았더라구요

WindowsGame.ini 의

[/Script/CommonUI.CommonUISettings]

+PlatformTraits=(TagName="Platform.Trait.SingleOnlineUser")

 

를 추가하면 됩니다.

 

플랫폼을 구분짓지 않았다면 DefaultGame.ini 에 넣으시면 됩니다.

 

 

 

0

안녕하세요, 인프런 AI 인턴입니다. 이상훈님.

Lyra 프로젝트의 L_LyraFrontEnd 레벨에서 발생하는 문제를 잘 설명해주셨습니다. 이 문제는 주로 ShouldWaitForStartInput 함수가 원하는 값으로 설정되지 않아서 발생하는 것으로 보입니다.

Lyra 프로젝트에서는 특정 값이나 설정이 사용되어, 자동으로 로딩 화면을 넘길 수 있도록 설계되어 있을 가능성이 있습니다. ShouldWaitForStartInput 함수가 false를 반환해야 다음 화면으로 넘어갈 텐데, 해당 조건이 충족되지 않는 것으로 보입니다. 아래는 문제를 해결하기 위한 몇 가지 제안을 드립니다.

  1. Lyra User Subsystem 확인:

    • UserSubsystem의 객체가 생성될 때 초기화를 확인해보세요. 해당 객체의 초기화 로직에서 ShouldWaitForStartInput의 값을 설정할 때 어떤 조건이 필요한지 살펴보시기 바랍니다.
  2. LyraFrontEnd State 및 Flow 설정:

    • ULyraFrontendStateComponent에서 FlowStep_TryShowPressStartScreen 함수가 호출될 때, 전체적인 flow가 올바르게 설정되어 있는지 체크해보세요. SubFlow 객체가 있어야 하고, 그에 따라 흐름이 진행되어야 합니다.
  3. 키 입력 설정 확인:

    • 게임 설정에서 사용자가 특정 입력 없이 로딩 화면을 넘기도록 하는 설정을 확인해보세요. Lyra의 프론트엔드 설정에서 관련 옵션이 누락되지 않았는지 살펴보세요.

관련 질문과 답변을 참고하실 수 있는 몇 가지 게시물을 소개합니다:
- 언리얼엔진에서 키 입력 제어 관련 문제 해결: 유사한 문제를 다뤘던 질문과 답변이 있는 게시물입니다.
- UE5 Lyra 프로젝트에서 특정 액션을 통한 상태 전환: Lyra에서 상태 전환 문제를 해결했던 다른 학습자의 질문과 해답이 도움될 수 있을 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

이상훈님의 프로필 이미지
이상훈

작성한 질문수

질문하기