[Unreal Engine C++] Online Subsystem을 활용한 멀티플레이 구현에서 진행했던 내용에서 더 나아가 유저 위젯 블루프린트를 이용해 접속해보자.
언리얼에서의 준비
유저 인터페이스 -> 위젯 블루프린트로 사용할 위젯을 생성해준다. 필자는 게시판을 눌러서 세션을 생성하는 느낌으로 만들고 있기 때문에 WBP_NoticeBoard라고 이름을 지었다.
WidgetSwitcher라는 기능을 이용하여 다음과 같이 UI를 구성하였다.
WidgetSwitcher는 ActiveWidget을 설정함으로 하나의 위젯 블루프린트 안에서 여러가지 UI들을 셋팅할 수 있는 기능이다.
활성화된 탭만 표시하고 다른것은 표시하지 않기 때문에 유용하게 사용할 수 있다.
각 스위처에 포함되어 있는 탭에는 Scroll Box를 이용하여 그 탭에 맞는 내용들을 넣어주고자 하였다.
C++에 바인딩하거나 찾아내기 위해서 사용할 각각의 객체들에 고유한 변수 이름을 지정해주고 넘어간다.
UserWidget을 상속받는 C++ 파일을 작성해주고 (필자는 NoticeBoard라는 이름으로 만들었다.) 설명했던 WBP_NoticeBoard에 부모 클래스로 설정해준다.
버튼을 바인딩하고 기능 구현하기
헤더파일에서 meta = (BindWidget)을 이용해서 WBP에서 설정해줬던 고유한 이름을 가진 객체들과 연결해준다.
이 때 불필요한 내용까지 가져오지 않도록 전방선언을 해준다.
cpp 파일에서 각각의 버튼들이 눌렸을 때, 실행될 함수들을 연결해주는 작업을 Initialize에서 수행해주었다.
모듈화한 SessionController를 통해 버튼에 따라서 세션을 만들거나, 조인을 수행한다.
Scroll Box를 활용한 Raid 및 Join 구성 방법은 다음 글에서 적도록 하겠다.
'UnrealEngine > 공부' 카테고리의 다른 글
[Unreal Engine BP] 캐릭터 카메라를 액터에 Close Up 하기 (0) | 2024.09.28 |
---|---|
[Unreal Engine C++] Dash의 기능에서 개선된 Dodge의 구현 (0) | 2024.08.21 |
[GitLab] SourceTree를 활용해 팀 프로젝트 진행해보기 (0) | 2024.08.04 |
[Unreal Engine C++] C++에서 Niagara System 스폰 (1) | 2024.05.29 |
[Unreal Engine C++] Online Subsystem을 활용한 멀티플레이 구현 (1) | 2024.04.20 |
CSE & GAME 개발 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 부탁드립니다!