언리얼 인게임 넷모드 설정하기

언리얼 엔진은 이미 구축된 네트워크 모드가 있다. 네트워크 모드는 넷 모드 이름으로 지정되어 있으며 미리 설정하고 게임을 구동할 수 있다.

언리얼 엔진 넷모드

  • Play Standalone
  • Play As Listen Server
  • Play As Client

첫번째 부터 솔로플레이인 Standalone 이 있으며 Listen Server 네트워크 방식과 데디케이티드 방식의 Client 설정 방법이 있다.


언리얼 프로젝트 생성하기

  • 프로젝트 이름을 지정하여 생성한 후 실행한다.
  • 프로젝트는 삼인칭을 사용하였다.

처음 언리얼 엔진을 실행하면 상단과 같이 화면을 확인할 수 있다.

기본 플레이 / 정지 단축키

  • 시작하기 Alt + P
    • 시작 중 마우스 커서 탈출 방법은 Shift + F1 버튼 키이다.
  • 중단하기 ESC

언리얼 넷 모드

넷 모드로 시작하는 방법

  • 화면 상단의 햄버그 모양을 클릭한다.
  • 플레이할 플레이어 설정하려면 Number of Players 숫자로 기입한다.
  • 커서를 Net Mode 선택하여 블록을 선택하면 우측에 세부 내용이 펼쳐진다.

넷 모드로 여러 가지 실행하여 어떤 차이점이 있는지 살펴본다.

넷 모드로 리슨서버, 클라이언트 선택 시 프리뷰 형태로 여러 플레이어로 조작할 수 있다.


튜토리얼 넷 모드 오류 수정하기

그리고 넷 모드 종료시 오류 문구를 확인할 수 있다.
빨강 문구를 선택하여 블루프린트를 펼쳐보도록 한다.

오류를 일으킨 Add Mapping Conext 블루프린트는 터치스크린인지 마우스인지 매핑하는 블루프린트다.

Add Mapping Context 는 로컬 플레이어를 체크하고 있는데, 튜토리얼이 멀티플레이어를 염두에 두지 않았다. nullptr 체크할 수 있도록 isValid 체크를 추가해 연결한다.

  • isValid 추가하여 로컬 플레이어 입력을 컨텍스트 노드와 연결한다.
  • 컨텍스트는 nullptr 받지 않게되어 위와 같은 오류가 발생되지 않을 것이다.

  • 아래의 블루프린트도 마찬가지로 isValid로 우회한다.

블루프린트 수정을 완료하였다면 Complie 저장하거나 Ctrl+S 로 저장한다.

💡
Enhanced Input Local Player Subsystem
각자의 플레이어 입력을 우선으로 한다.
모든 플레이어의 입력에서 충돌을 방지한다.

Outliner

에디터 시작 후 우측의 OutLiner 팝업이 있다.

  • 넷 모드로 플레이어만큼 생성하면 추가되는 오브젝트이다.
  • 표시되는 것들은 배경(월드)에 오브젝트로 배치할 수 있는 Actor로 모두 상속되어 있다.

  • 톱니바퀴에서 Choose World 어떤 월드를 선택하냐에 따라 배치된 OutLiner 를 확인할 수 있다.

  • 리슨, 클라이언트로 구동할 경우 많은 액터들이 표시된다.
  • Outliner 에서 Server는 각각의 컨트롤러와 카메라, 스테이트, 캐릭터들이 3대씩 표시된다
  • Outliner 에서 Client로 설정한 경우 PlayerController 한대로 변화될 것이다.