NetworkRunner, NetworkObject, NetworkBehaviour 간 관계 - cheona-thousand-man/Unity-myBasics-Wiki GitHub Wiki
클래스 간단 정리
NetworkRunner
Fusion 네트워크의 중심 네트워크 세션을 관리 / 클라이언트와 서버 간의 통신을 처리 / 네트워크 게임 로직을 실행하는 주요 엔진 역할
- 게임 세션 관리 게임 세션을 시작하고, 유지하며, 종료합니다.
- 스폰 및 디스폰 NetworkObject의 인스턴스를 생성하고 제거합니다.
- 네트워크 동기화 네트워크 상태를 동기화하고, 클라이언트와 서버 간의 데이터를 주고받습니다.
- 입력 처리 플레이어 입력을 수집하고, 이를 네트워크를 통해 전송합니다.
NetworkObject
네트워크 상에서 고유하게 식별되는 객체 Fusion 네트워크에서 객체의 상태를 동기화하는 데 사용
- 고유 식별자 각 NetworkObject는 네트워크 상에서 고유하게 식별됩니다.
- 상태 동기화 객체의 상태가 네트워크를 통해 동기화됩니다.
- 상태 권한 및 입력 권한 객체의 상태와 입력 권한을 관리합니다.
NetworkBehaviour
NetworkObject에 연결된 스크립트로, 네트워크 상에서 객체의 동작을 정의
Unity의 MonoBehaviour와 유사하지만, 네트워크와 관련된 추가 기능을 제공
- 네트워크 동작 정의 네트워크 상에서 객체가 어떻게 동작하는지 정의합니다.
- 네트워크 이벤트 처리 네트워크 이벤트(예: 객체 스폰, 디스폰, 상태 변경)를 처리합니다.
- Networked Properties 네트워크를 통해 동기화되는 속성을 정의합니다.
클래스 간 관계
NetworkRunner와 NetworkObject
- NetworkRunner는,
네트워크 세션을 관리
- NetworkObject를 스폰하거나 디스폰
- NetworkRunner는 NetworkObject의 상태와 입력을 동기화
NetworkObject와 NetworkBehaviour
- NetworkObject는,
네트워크 상에서 객체 상태 동기화
- NetworkBehaviour는,
객체의 동작을 정의
- NetworkObject에 연결
- 네트워크 이벤트와 상태 변경을 처리
NetworkRunner와 NetworkBehaviour
- NetworkObject를 통해 간접적으로 상호작용
- NetworkRunner는 네트워크 상의 상태와 입력을 동기화
- NetworkBehaviour가 정의한 동작 수행 처