[Photon Server] 1-2. Fusion: Network Runner

scarleter99·2024년 2월 23일

[Unity] Photon Server

목록 보기
2/6
post-thumbnail

Network Runner

  • 단일 네트워크 Peer를 대표하는 컴포넌트이다.
  • 여러 Network Runner를 단일 유니티 인스턴스에서 실행할 수 있다.

Room 생성 및 참가

  • StartGame()StartGameArgs 인자로 특정된 Room을 생성 및 참가할 수 있는 Peer를 생성한다.
  • 하나의 Network Runner는 한번만 사용가능하다.
    • 한번 세션을 잃게되면 기존 Network Runner는 제거하고 새로 생성해야한다.

Network Runner 지원 컴포넌트

  • StartGame()을 실행하면 NetworkRunner는 모든 SimulationBehaviour 컴포넌트를 등록한다.
    • SimulationBehaviour 컴포넌트는 FixedUpdateNetwork()Render() 콜백을 받는다.
  • INetworkRunnerCallbacks를 상속받은 컴포넌트도 등록한다.

Built-In Fusion Runner 컴포넌트

  • HitboxManager
  • RunnerLagCompensationGizmos
  • RunnerAOIGizmos
  • RunnerEnableVisibility

Player / PlayerRef Struct

  • Network Runner는 PlayerRef 구조체 값을 가진다.
  • 로컬 PlayerRefRunner.LocalPlayer로 접근 가능하다.

Tick Manegement

  • Tick이 시뮬레이션될 때, 모든 FixedUpdateNetwork()과 시뮬레이션 관련 콜백을 호출한다.

Network Object Manegement

  • Network Object의 라이프사이클을 관리한다.

Interest Management

이벤트 함수

  • Spawned()
  • Despawned(NetworkRunner runner, bool hasState)
  • SimulationBehaviour 가상 이벤트 콜백
    • FixedUpdateNetwork()
    • Render()
  • 인터페이스
    • IAfterSpawned
    • IBeforeAllTicks
    • IAfterAllTicks
    • IBeforeTick
    • IAfterTick
    • IPlayerJoined
    • IPlayerLeft

0개의 댓글