UE5/UE5 MultiPlayerGame

MultiPlayerGame) 17. SeamLess Travel / Non-SeamLess Travel

PJNull 2022. 6. 16.
728x90
반응형

언리얼 엔진은 두가지 SeamLess Travel과 Non-SeamLessTravel이 있다. 언리얼에서는 SeamLess Travel쪽을 더 선호한다. 그렇다면 왜  SeamLess Travel을 선호하는지, 이 둘은 어떤식으로 작동하는지 알아보도록 한다.

 

Non-SeamLessTravel

 


클라이언트가 원활하게 이동하지 않을 때마다 현재 서버에서 연결이 끊긴 다음 동일한 서버에 다시 연결한다.
이는 물론 다시 연결되는데 시간이 오래걸리고, 다른 연결할때 문제가 다른 레벨로 이동하는등의 문제가 발생할수 있다.
Non-SeamlessTravel은 맵을 처음 로드할 때나 서버에 처음 연결할 때, 그리고 온라인 상태의 게임이 끝나고 새로운 게임이 시작될 때 사용된다. 모든 클라이언트는 연결을 끊었다가 다시 서버에 다시 연결해야 하므로 Non-Seamless Travel이 수반된다.


SeamLess Travel



SeamLess Travel은 언리얼 엔진에서 선호되는 방법이다.
클라이언트가 서버에서 연결을 끊을 필요가 없으므로 더 부드로운 환경을 제공하며 또한 서버를 찾을수 없거나 플레이어가 너무 많아 다시 참여를 하지 못하는 등의 재연결 문제를 방지할 수 있다.
SeamLess Travel은 GameMode에서

bUseSeamlessTravel=true;

로 활성화할수있다.


Travel

 

-ServerTravel:

 

서버한정이다.ServerMachine은 ServerTravel을 호출하고 Server가 Server Travel을 호출할 때 Server는 새로운 Level로 이동한다. 연결된 클라이언트들은 ServerTravel이 이동시키는 맵으로 따라가며 서버는 연결된 모든 플레이어의 컨트롤러를 가져와서 ClientTravel을 호출하여 이동시킨다. 이때 Client가 ClientTravel을 호출하면 새서버로 이동하며 Client는 반드시 주소를 제공해야한다. Server가 ClientTravel을 호출하면 플레이어가 서버에 의해 지정된 새로운 맵으로 이동하도록 만든다.

728x90
반응형

댓글