This document is about: FUSION 2
SWITCH TO

실행

기본 실행

다음 그림은 단일 유니티 프레임 내에서 KCC가 사용하는 Fusion 콜백의 기본 실행 순서를 나타낸 것입니다.

KCC 실행 흐름.
KCC 실행 흐름.
  • (1)은 서버로부터 새로운 데이터를 수신하는 경우에만 실행됩니다.
  • (2)는 1-N개의 포워드 틱을 시뮬레이션할 때 실행됩니다.
  • (3) 새로운 틱을 시뮬레이션하기에 충분한 델타 타임이 없을 경우 실행합니다.
  • (4) 시뮬레이션 보류 중인 재시뮬레이션 또는 포워드 틱이 더 많을 경우 실행합니다.
  • (5) 모든 재시뮬레이션 및 전방 틱을 시뮬레이션 한 후 실행합니다.

가능한 시나리오는 다음과 같습니다:

  1. 서버에서 수신한 새 데이터 = [Y] 재시뮬레이션 틱 = > [X] 정방향 틱 = > 렌더 업데이트입니다.
  2. 수신된 데이터 없음 = [X] 정방향 틱 = > 렌더 업데이트입니다.
  3. 데이터가 수신되지 않고 델타 시간이 충분하지 않습니다 = 렌더 업데이트만 가능합니다.

다음 그림은 Fusion 콜백에 대한 자세한 개요와 KCC 내부 로직의 실행을 보여줍니다.

KCC 실행의 상세 개요.
KCC 실행의 상세 개요.

⚠️ 일부 작업은 입력/상태 권한 또는 프록시에만 유효합니다. 예를 들어 프록시는 네트워크 버퍼에 기록하지 않습니다.

Move 서브루틴의 실행은 KCC 설정 섹션의 입력 권한 동작, 상태 권한 동작 및 프록시 동작에 의해 정의됩니다.

입력 권한 동작 고정 업데이트 렌더 업데이트
예측 고정 | 인터폴레이션 렌더 이동 (예측) 이동 (인터폴레이션)
예측 고정 | 예측 렌더 이동 (예측) 이동 (예측)
상태 권한 동작 고정 업데이트 렌더 업데이트
예측 고정 | 인터폴레이션 렌더 이동 (예측) 이동 (인터폴레이션)
예측 고정 | 예측 렌더 이동 (예측) 이동 (예측)
프록시 동작 고정 업데이트 렌더 업데이트
스킵 고정 | 인터폴레이션 렌더 없음 서버 인터폴레이션 스냅샷
인터폴레이션 고정 | 인터폴레이션 렌더 서버 스냅샷 인터폴레이션 서버 스냅샷 인터폴레이션
예측 고정 | 인터폴레이션 렌더 이동 (예측) 이동 (인터폴레이션)
예측 고정 | 예측 렌더 이동 (예측) 이동 (예측)

수동 실행

기본적으로 KCC 고정/렌더 업데이트는 지연 보상을 지원하기 위해 HitboxManager 이전에 실행됩니다.

정확한 실행 순서 제어를 위해 수동 실행을 활성화할 수 있습니다:

C#

public class Player : NetworkBehaviour
{
    public KCC KCC;

    public override void Spawned()
    {
        KCC.SetManualUpdate(true);
    }

    public override void FixedUpdateNetwork()
    {
        KCC.ManualFixedUpdate();
    }

    public override void Render()
    {
        KCC.ManualRenderUpdate();
    }
}

Last updated on

Back to top