본문 바로가기

멀티플레이3

[언리얼5] TPS 멀티플레이 포트폴리오 영상 TPS 멀티플레이 포트폴리오 영상 편집 완료챕터00:00 Intro00:46 Chapter01 멀티 플레이 구현02:13 Chapter02 서버 & 클라이언트 시간 동기화03:02 Chapter03 네트워크 지연 관련 & ServerSideRewind04:44 Chapter04 무기 클래스06:55 Chapter05 아이템 클래스08:09 Chapter06 조준 관련 모션09:02 Chapter07 게임 모드11:17 Outro사용 음원00:00 Catch Up If You Can - emrstudiom00:46 You Can't Give Up - Nick Valerson11:17 Syncopated Rhythm - Oleksii Holubiev https://www.youtube.com/watch?v=.. 2024. 4. 26.
[언리얼5] 멀티플레이 시간 동기화 멀티플레이 프로젝트를 진행하며 서버와 클라이언트간의 시간차이를 줄이기 위해서는 클라이언트가 서버의 현재시간을 요청하면서 요청한 시간부터 서버에서 회신 하는 시간까지의 타임렉을 이용하여 클라이언트의 시간을 서버의 시간으로 동기화 한다. 클라이언트(IsLocalController)가 동기화를 요청 클라이언트에서 동기화를 요청하여 서버RPC를 사용하여 서버의 현재 시간을 확인 한다. 이후 서버는 해당 요청(함수)를 실행하는데 매개변수(클라이언트의 현재시간)를 확인해서 클라이언트에게 시간을 전달 한다. 클라이언트는 서버에서 받아온 시간과 현재 자신의 시간 차이의 값을 계산하고 해당 값을 반으로 나눈(클라이언트 에서요청 시작 ~ 서버가 회신하고 다시클라이언트에게 회신 하기때문에 왕복시간이아닌 편도시간만 계산)시간.. 2024. 3. 18.
[언리얼5] 멀티플레이 사격 테스트(NetMulticast) 플레이어 캐릭터에 무기를 장착하고 사격하는 애니메이션을 재생시킨다. 이때 무기 클래스를 별도로 만들고 무기의 애니메이션을 따로 넣어 준다. 테스트1 서버에서는 아이템 장착 애니메이션과 사격 애니메이션등이 정상적으로 이루어지지만 클라이언트에서는 해당 애니메이션들이 복사되지 않고 있는 것을 볼 수 있다. 애니매이션의 복사가 필요 NetMulticast RPC 를 사용한 데이터 복사 기존의 발사 함수외에 추가적인 매크로를 적용한 함수를 만든다.(함수매크로는 Server, Reliable 을 사용) 이때 선언정의후 CPP 파일에 정의된 함수에 _Implementation을 추가하도록한다. 일반함수로 사용할경우 값복사가 이루어지지않으며 컴파일이 불가능. 이후 추가적으로 멀티캐스트 호출용 함수도 만들어준다. 서버함.. 2024. 3. 4.