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

언리얼 엔진(UE4) -- 캐릭터 구조체 & 메인메뉴ui / 멀티플레이 튜토리얼((4~7)/24)

by Lee_story_.. 2022. 5. 10.
728x90

 

 


4장 플레이어 정보부터 시작!

 

지난번에 만들었던 플레이어 구조체 부터 사용하네요

 

 

딱 제가 생각하는 그 구조체랑 똑같네요;;

캐릭터에 쓰일 변수명들을 지정해주고 기본값 지정!

 

 

 

다음 이제 이 구조체를 playersave 파일에서  선언해줍시다.

 

playersave은 레벨을 이동하거나 접속할때 캐릭터의 정보를 저장해두고 다시전달해주는 역할을 한다네요!

 

선언해주고 replicated!

 

 

여기 까지가 구조체끝! 그렇게 사용하는데 어렵진 않을것 같네요! 

 

 

 

 

이제 캐릭터 선택창에서 사용할 캐릭터 사진을 모아줍시다.

영상에서는 일일히 캡쳐하던데 이건 각자 하면 될거 같네요

 

 

 

 

다음은 사용자들의 로비맵을 만들어 줍시다.

플레이어수는 8명정도를 최대로 할꺼니까 생성해주고

 

 

 

로비맵 주변을 블로킹 볼륨으로 둘러싸주세요..! 

 

 

게임을 시작하기 전 대기할 맵 완성!

 

여기까지가 4장... 아직 별거없네요 ㅎ

 

 


이제 5장 시작!!!

5장은 메인메뉴 만들기 

드디어 ui를 건드리네요

메인메뉴 디자인은 나중에.... 지금은 기능 구현만 하겠습니다!

 

 

 

저번에 모든 ui를 인스턴스에 커스텀 이벤트로 선언했으니

먼저 인스턴스를 변수로 선언해주고 커스텀 이벤트들을 불러옵시다!

(여기서 remove from parent는 원래 있던 ui를 닫아주는 역할)

 

 

인스턴스에 선언하고 불러오니까  확실히.... 깔끔하네요... 

 

 

매번 새로 선언했었는데 ㅋㅋ

 

 

아 종료 버튼은 quit game으로 바로 종료 시켜주기

 

 

그리고 메인메뉴 레벨에 가서 show mainmenu 커스텀이벤트를 불러와 줍시다!

 

 

끝!

 

 


 

다음은 이어서 6장! 호스트 메뉴 만들기

6장은 단순 메뉴 디자인이네요 ㅎㅎ..

 

 

이건 개인 취향이라서 마음대로 만드셔도 될 것 같아요!

 

바로 7장가서 조작해보겠습니다

 

 


7장! 호스트메뉴 블루프린트

 

메인메뉴와 마찬가지로 인스턴스불러와서 선언!

(Construct이벤트는 만들어 질때 한 번 실행)

그리고 항상 ui가 만들어질때 서버네임칸은 비워줍시다!

 

그리고 서버이름칸이 비어있는지 확인하여 비어있으면 게임시작 변수를 하나 선언해서 false로 바꿔줍시다.

(당연히 아니면 true)

 

뒤로가기 back버튼은 인스턴스에서 이벤트 들고오기!

 

 

다음은 서버열기

각각의 변수를 선언해줍시다.

 

 

플레이어 수를 늘려주고 줄여주는 버튼 이벤트를 만들어주고

 

clamp로 최소최대 지정

 

이번엔 LAN모드인지 internet모드인지 변경 조작하는 버튼이벤트들

 

여기까지 하셨다면 이제 설정은 다 된것 같네요

눈에보이는 택스트 상자들 바인드하러 가봅시다.

 

 

제일 먼저 플레이어수 택스트상자를

바인드 해주고 아까 선언한 numplayer변수를 넣어 줍시다.

 

 

 

 

 

다음은 플레이모드 택스트상자에 

playmode변수 자체를 바인딩 해주고

 

마지막으로 start버튼에 변수를 바인딩 해줍시다.

(이건 생각못했네요;; branch로 실행안되게 막았었는데 ㄷㄷ)

 

여기까지했다면 한번 실행해 보세요!

 

 

잘 이동하네요 ㅎㅎ

 

하면서 느끼는건데 여기 까지 보시면서 이해가 안되신다면 해보는게 도움이 엄청 되더라구요

저도 영상보면서 이게 머지 하는게 한두개가 아닌데....

하다 보면 약간 아 이래서 저렇게 하는구나 조금씩 이해가 가는정도?

 

결론! 따라 해보세요! 제가 설명이 부족하다면... 영상이라도 보면서 ㅠ

 

 

 

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

 

댓글