강의

멘토링

로드맵

Inflearn brand logo image

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

가루님의 프로필 이미지
가루

작성한 질문수

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

GameFeature Action 및 Common UI Widget 생성 관련 질문

해결된 질문

작성

·

34

·

수정됨

0

안녕하세요 강의 듣는 수강생입니다.! 먼저 좋은 강의 만들어 주셔서 정말 감사드립니다.

강의를 들으면서 Lyra 구조에 대해 몇가지 오랫동안 고민 해봤습니다. 강의를 놓친 부분이 있을수 있겠지만 아무래도 많이 복잡한 구조다 보니까 제가 생각한 답이 맞는지 아직 풀리지 않는 의문에 대해 궁금해서 이렇게 글을 쓰게 되었습니다.


  1. Experience에 Game Feature Action을 넣는 이유가 뭔가요?

    • ShooterCore에서는 공통적으로 사용하는 Game Feature Action을 두고,

      ShooterCore 기반의 (점령전, 데스매치 등등) 그리고 여러 모드마다 서로 다른 action 구성들은 experience를 통해 동적으로 적용하기 위한 이유인건가요?


  2. Common UI 관련

    • Lyra에서는 UI 추가 방식이 크게 두 가지라고 생각이 들었는데 이 방식이 맞을까요?

      1. CommonUIExtensions의 static 함수 PushContentToLayer_ForPlayer 방식

      2. Game Feature의 Add Widget Action 방식

        이렇게 이해하면 맞나요?

        1. 이 안에서도 extension의 CreateEntryInternal를 통해 위젯 최종 생성)

    • Add Widget Action 방식은 Experience나 Game Feature 로딩 시 처음부터 상시 유지되는 UI에 주로 쓰이는 것 같은데 그렇다면 해당 Feature Action 방식에서도 레이어 태그를 구분하는 이유는 무엇인가요? (action에서 layout 추가시 Game, GameMenu, Menu, Modal 태그를 추가하는 부분)

    • 사실상 필요한 부분이 HUD 밖에 없는 것 같은데 그래도 거의 쓰이지 않더라도 범용성을 위해 설계 된건가요?


  3. Lyra UI 생성 구조 이해 확인

    • 최종적으로 위 질문을 스스로 고민해보면서 이해한 Lyra의 UI 구조는 다음과 같습니다. 제가 이해한 구조가 맞는지 궁금합니다.!

    0단계. Primary Layout

    • 1단계. Game / Menu / GameMenu / Modal Layer Stack

      • 2단계. HUD Layout(PushContentToLayer_ForPlayer로 추가)

        • 3단계. PointWidget

          • 4단계. 각종 Widget (UIExtension → CreateEntryInternal로 최종 추가)

      • 2단계. 실시간 추가/삭제되는 위젯(PushContentToLayer_ForPlayer로 추가)

 

다시 한번 좋은 강의 만들어주셔서 감사합니다. !

답변 1

0

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

  1. 네 맞습니다 Experience 마다 Action을 다르게 하기 위해서 입니다.


  2. 2-1. 해당 Experience에 무조건 존재하면 Action을 통해 추가적인 부분은 PushContentToLayer_ForPlayer 함수를 이용해주시면 될 것 같습니다.

    2-2. 간단한 게임에서는 뭐 하나로 하셔도 되지만 게임이 커질수록 UI 관리가 정말 어려워져서 그러한 부분을 모듈화 하기 위한 방식입니다.

  3. 라이라 UI는 정말 복잡하고 AAA 게임을 고려할 만큼 모듈화를 해놔서 함수 호출로 기억하시기 보다는 말씀하신 순서인
    PrimaryLayout -> HUD Layout -> UIExtension -> Widget 이 정도 순서로 기억하시고
    이해하신 후에 프로젝트에 맞게 수정하시는걸 추천드립니다.
    사실 이 메커니즘이 핵심입니다.

가루님의 프로필 이미지
가루

작성한 질문수

질문하기