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

언리얼 엔진(UE4)-- Instance 사용해보기 / 멀티플레이 튜토리얼((1~3)/24)

by Lee_story_.. 2022. 5. 9.
728x90

프로젝트 진행중에 너무 막히네요....

 

특히 멀티 플레이 만드는데 많은 개념이 필요하고...

어떻게 사용할수 있는지 공부해야 할것 같아서 어떻게 사용할수 있는지 공부해야 할 것 같아서

 

오늘은 튜토리얼 영상을 들고 왔습니다!

 

 

2016년 좀 오래된 영상이긴 하지만 인스턴스,게임모드,컨트롤 등이 어떻게 사용되는지 한번 천천히 공부해 보겠습니다!

 

 

일단 기반이 리슨,스팀 서버 사용이니 3d프로젝트를 하나 만들어서

 

언리얼(UE4) 스팀 서버 세션 플러그인 사용하기

리슨서버.... 데디케이티드 서버... 이번엔 스팀 서버세션을 사용해 보겠습니다. 스팀서버는 플러그인으로 사용할수 있다고 하더라구요 영상은 여기! https://forums.unrealengine.com/t/advanced-sessions-plugin

ljhyunstory.tistory.com

적용해주시면 될 것 같습니다!

 

 

자 이제 시작!

 


 

1장은 이 강의들로 어디까지 만드는지 설명해주는 소개 영상이라 천천히 보시고 필요하신 부분부터 보시면 될것같아요.!

 


그럼 2장!

 

2장은 맵 세팅에 대한 이야기들 이였습니다. 

 

필요한 레벨들, 필요한 ui들 그리고 중요한 게임모드, 인스턴스, 캐릭터 구조체등을 만들어 주었습니다.

 

이번에 쓰일 맵들 5개정도

그리고 게임플레이할때,로비에서의 게임모드,컨트롤을 각각 만들어 주었고 

 

캐릭터의 정보를 저장할 save파일, 그리고 인스턴스, 캐릭터 구조체도 만들어 주었습니다.

 

그리고 유저에게 보여지는 UI들도 만들어 주었습니다.

 

그리고 사용할 캐릭터를 만들어 주는데 저는 제가 사용할 캐릭터가 따로 있어서 만들어 주었습니다. 

 

 

따로 없으시다면  언리얼 마켓에   Infinity Blade: Warriors 검색해 다운 받으시면 됩니다.

 

 

세팅이라서 여기에 다올리기엔 좀... 많네요...  영상 보면서 따라가는게 좋을것 같아요!

 

 


이제 3장!

 

3장부터는 UI를 인스턴스에서 불러오는 방법에 대해서 설명해주고 구현하네요!

 

ㄱㄱ!

 

먼저 앞장에서 만들어 놓은 인스턴스를 열어봅시다!

텅 비어 있네요

 

이제 여기에 ui위젯을 열어주는 커스텀 이벤트들을 저장해 줄려고 한다네요

 

이때까지 캐릭터나 레벨프린트에서 위젯생성했는데 ㄷㄷ 할때마다 뭔가 지저분해 보이더라구요

 

여기 인스턴스에서 만들어주면 다른곳에서는 이제 선언하지않아도 이벤트만 가져다 쓰면 된다네요!! 신기하네;

메인메뉴부터 하나씩 하나씩 선언해줍시다.

(Mainnenu_W 는 변수 선언한거에요! 위젯생성에서 리턴벨류 받아서 바로선언!)

(is valid는 이미 ui가 켜져있는지 확인!)

 

똑같은 구조로 호스트메뉴와 옵션,로딩 ui까지 선언 해줍시다.

 

 

서버ui도 있는데 이건 새로고침 버튼을 만들어 줄꺼라서 켜져있는지 확인 ㄴㄴ!

 

이제 ui처리는 다했고 서버 세션처리를 하는데

 

우선 서버 만들기 부터보면 Maxplayer와 enable, servername을 입력 받네요

끌어와서 Maxplayer, servername은 선언해주고 먼저 위에서 만들어둔 로딩 ui보여주고

세션만들기! --> 이게 기본 온라인 시스템으로 함수가 있네요 ㄷㄷ

이걸로 리슨서버를 열어줄수있네요

 

(여기서 우측하단에 errormessage는 매크로함수로 좌측에서 추가가능!)

 

 

다음은 join서버

join session도 구현이 되어있네요 ㄷㄷ

여긴 더 추가해야되지만 일단 여기까지만!

 

그리고 각종 에러를 

처리해줄 에러메세지 이벤트들(네트워크하고 travel이벤트는 커스텀 아님)을 만들어 줍니다.

neterror와 travelerror는 함수로 선언하셔야되요

 

일단 여기까지가 3장끝입니다.

 

아직까지는 눈에 보이는게 없네요 다음장부터는 ui를 아마 주로 다룰것 같습니다.

 

조금만 더 해보겠습니다.

 

 

 

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

 

 

 

댓글