본문 바로가기
언리얼 최고/언리얼 멀티플레이

언리얼 엔진(UE4)--세션 만들고 연결하기 / 멀티플레이 튜토리얼((11)/24)(create session, join session)

by Lee_story_.. 2022. 5. 17.
728x90

 

 

11장.... 세션 연결이 안돼서.. 엄청 헤매었어요 ㅠ

 

 

 

일단 지난번에 만든 server menu ui를 구성해봅시다!

 

 

항상 그랬듯 instance불러오기!

그리고 가운데 글자에 바인드 넣어줄 mode text와 lan인지 아닌지 판별해줄 변수 선언!

 

버튼으로 변경해주는 부분도 만들어 줍시다.

 

 

 

그다음은 back 버튼 구현!

그리고 오늘의 메인 start(find) 버튼을 클릭하여 서버에 참가하게 만들어 줍시다.

 

일단 구조가

session Found가 트루면 instance의 join server실행

더보기
join server

 

아니면 Refresh servers라는 매크로를 하나 선언해서 실행하는데

(Refresh servers에서는 세션들의 목록에서 조건에 맞는 세션을 찾아 available session에 저장해주는 역할!)

 

find sessions에서 모든 세션을 출력해줍니다!

 

찾지 못한다면 ui상단 텍스트 박스에 바인드 시켜줄 mode header에 (찾지 못했다)고 택스트 지정!

 

만약 찾았다면 세션 배열을 하나 만들고 계속 돌려주면서-->>플레이어수가 max플레이어 수하고 다른지 확인!

-->> 그런 세션을 찾았다면 break! 해주고 찾았다고 session Found True!

 

 

이러고 나면

밑에 부분에서 (start) 버튼이 보이게 하고 위젯 인덱스도 넘겨서 카운트다운? 이 보이게 만들어 줍시다!

 

 

이제 create session과 joinsession 끝!

 

다음은 카운트다운!

일단 이렇게 만들어 줍시다.

 

그다음 Handlecountdown라는 함수 새성!

숫자를 줄여주며 0이 되었을 때는 창이 최신화되도록 하는 함수!

 

 

그리고 택스트 박스에 바인딩할 함수!

하는 김에 다 같이 바인딩합시다!

LAN---mode text바인딩
상단 문구--mode header 바인딩
하단 버튼들상자 visivility --- buttonvisibility 바인딩

 

변수들의 초깃값도 체크!

-mode text는 필요 없고

-enableLan은 false

-SessionFound 도 false

-AvailableSession는 (블루프린트 세션 result)

-playMode_Header는 딱히 필요 없고

-Time value는 10

-Buttonvisibility는 

-foundSessions은 (블루프린트 세션 result 배열)

 

-number of sessions은 20 

 

으로 설정!

좀 많네요...

 

 

 

끝! 

 

이제 실행해봅시다!

.

.

.

.

혹시 안되신다면..?(먼가 이상하다면?)

더보기

1.  저번에 만들었던 instance ㄱㄱ

    create advanced session으로 변경하고(이건 안 중요한 듯..)

    open level에 (? listen)이라고 잘 적혀있는지 확인!(전 여기서... listen만 적었었네요....ㅋ....)

 

 

2. 연결이 되는데 캐릭터가..?

     프로젝트 세팅에서 모드를 설정해줍시다...(여기서 한 번 더 막혔었어요...)

 

여기까지가 제가 겪은....

되게 간단했었는데... 제가 허튼짓을...

 

 

성공하셨으면 다행이네요ㅠ

LAN 말고 internet으로 연결하려면 스팀 계정이 2개가 필요하다네요;;;

이거 말고 LAN으로 연결이 되시면 축하드립니다!!

진짜 끝!

 

 

 

틀린 점이 있다면 댓 달아주세요!

 

댓글