움직임 싱크로나이저 매개변수 조정 방법

StrixMovementSynchronizer는 개체의 움직임을 동기화하는 요소입니다. 이 요소는 보간/보외 기법을 이용하여 복잡한 움직임을 정확하고 자연스럽게 동기화합니다. 이 요소에는 조정 가능한 매개변수가 많기 때문에 요소를 예상되는 움직임 패턴에 정확히 맞출 수 있습니다.

게임 개체에 맞춰 매개변수를 조정해야 하는 경우, 아래 가이드라인을 따르면 됩니다.

기본값으로 시작

일부 엔지니어는 실제 GameObject에 연결된 StrixMovementSynchronizer를 실행하기 전에 정확한 매개변수 설정을 찾으려고 합니다. 이것은 대체로 권장하지 않는 방법입니다. 매개변수의 기본값은 여러 가지 게임 내 개체의 일반적인 움직임 패턴에 맞춰 선택한 것으로, 대부분은 잘 작동합니다.

스크립트는 방장의 개체를 먼저 이동한 후 StrixMovementSynchronizer가 레플리카를 어떻게 옮기는지 지켜보도록 작성하기를 권장합니다. 움직임에 문제가 없다면 매개변수를 조정할 필요가 없습니다.

동기화는 너무 자주 하지 않는 것이 좋습니다.

일반적인 3D 게임은 초당 수십 프레임(30fps, 60fps)을 새로고침합니다. FixedUpdate(또는 Update)가 호출될 때마다 스크립트가 개체의 위치나 가속을 업데이트할 가능성도 있습니다.

그러나 같은 속도로 네트워크를 통해 레플리카를 업데이트하는 것은 대부분의 게임에서는 지나친 일입니다. StrixMovementSynchronizer는 보외 기법을 통해 개체의 미래 위치를 예측하여 필요한 동기화 횟수를 줄입니다. 움직임 패턴에 따라 동기화 기간을 바꿔가며 최적화하기도 합니다.

SyncPeriodMinSyncPeriodMax는 움직임 동기화 주기를 제어합니다. 이것은 다음 동기화까지 시간을 밀리초로 나타낸 것으로, 값이 작으면 동기화 빈도가 많고 값이 크면 빈도가 적다는 의미입니다. SyncPeriodMin은 다음 동기화까지 최소 시간, 즉 최대 주기를 나타냅니다. SyncPeriodMax는 다음 동기화까지 최대 시간, 즉 최소 주기를 나타냅니다. 기본값은 SyncPeriodMin이 50ms, SyncPeriodMax가 200ms로, 이는 초당 동기화 횟수가 최대 20회, 최소 5회라는 뜻입니다.

60fps로 실행되는 게임에서 초당 5~20회 주기로 움직임을 동기화하는 것은 부족하다고 생각할 수도 있겠지만 대개는 충분합니다.