• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    해결됨

character와 controller의 onrep_playerstate

24.05.31 00:25 작성 24.05.31 00:26 수정 조회수 82

0

 

character와 controller 모두 onrep_playerstate 함수를 사용하고 있습니다.

 

 

지금 제 코드는 controller의 onrep_playerstate 에서는 playerstate를 초기화하고, playerstate 안에 변수 값들을 HUD에 바인드 하고 있고

character의 onrep_playerstate 에서는 playerstate의 변수 안에 값을 넣는 상황인데

controller->character라는 기존의 프레임워크 실행 순서와는 다르게

onrep_playerstate 함수가 리슨서버의 클라이언트 입장에서 매번 실행 순서가 뒤바뀌는 경우가 발생합니다.

 

 

이유를 찾아보니 playerstate를 서버에서 클라이언트로 리플리케이트하는데 매번 지연속도가 다르다고 하는 것 같은데

 

이럴 경우는 어떻게 해야할까요? settimer를 사용하는 방법은 지양되는 방식이라는 의견이 많아서 다른 해결방법을 모르겠습니다.

답변 1

답변을 작성해보세요.

0

네 기본적으로 PlayerState의 NetUpdate Frequency와 Priority 수치가 낮게 설정되어 있어 늦게 전송되는 특징이 있습니다. 일단 PlayerState 중심으로 리플리케이션 정보를 전달한다면 이를 높이는 방법이 고려해야 될 것으로 보입니다.

그런데 클라이언트에서도 컨트롤러 -> 캐릭터의 순서가 지켜져야 하는 이유가 있을까요?

클라이언트의 경우 PostNetInit에서 전달받은 기본 값으로 초기 세팅을 처리하고, OnRep_PlayerState을 통해 갱신되면 새로운 값이 반영되도록 설계되어야 하지 않나 싶습니다.

채널톡 아이콘