• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

3d 이동 및 회전 구현하다가 질문이 생겼습니다(에러질문X)

23.07.06 15:54 작성 23.07.06 15:55 수정 조회수 317

0

(위에 사진은 3d 방향 및 이동 동기화를 성공해서, 뿌듯해서 같이 올려요 ㅎ..ㅎ)

 

멀티환경에서 3D이동 및 회전을 동기화를 구현할 때, 이전 위치와 현재 위치의 Vector3.magnitude의 차이가 0.1이 나면 이동패킷을 보내줄수있도록 설계를 해서 구현을 했습니다.

혹시 0.1f 차이마다 패킷을 계속 보내는 것도 패킷을 너무 많이 보내는 편인가요?
(유저 수는 10명정도가 같은 room에 있도록 만들예정입니다)

항상 감사합니다! 강의를 들으면서 조금씩 바꿔보는데 정말 뿌듯하네요 하하하하하
강의가 너무 유익해요^^

답변 1

답변을 작성해보세요.

0

이건 게임 장르마다 다른데요.
FPS 게임이라면 정말 1초에 10번 이상 동기화 패킷을 보내지만,
MMO라면 1초에 4~5번이 평균입니다.
0.2초마다 한번 오는 정보로 그럴싸하게 동기화를 해야 하니
당연히 클라 보정이 들어가게 됩니다.
일반적으로 '현재 위치/회전값'을 보내서 동기화를 하지 않고,
목적지를 찍고 해당 목적지를 보낸 다음, 그쪽으로 이동하게 각 클라에서 보정하는 방법을 많이 이용합니다.
추측항법(Dead Reckoning)도 이름은 거창하지만 결국 비슷한 원리입니다.

장재범님의 프로필

장재범

질문자

2023.07.06

아하 그렇구요 ㅇ..ㅇ

말씀해주신 방법으로도 만들어봐야겠네요 하하하 감사합니다!