Version: 2017.3
상태 동기화 세부 사항(레거시)
네트워크 레벨 로드(레거시)

네트워크 인스턴스화(레거시)

(새 프로젝트에는 5.1에서 도입된 새로운 네트워킹 시스템을 사용해야 합니다. 다음 내용은 이전 네트워킹 시스템을 사용하는 레거시 프로젝트를 대상으로 작성되었습니다.)

Network.Instantiate 함수는 모든 클라이언트의 프리팹을 인스턴스화하는 간단한 방법을 제공하며 단일 클라이언트의 Object.Instantiate와 유사한 효과를 냅니다. 인스턴트화된 클라이언트는 단 하나의 오브젝트를 제어하는 것이나(즉, Input 클래스는 클라이언트 인스턴스의 스크립트에서만 액세스 가능) 변경 사항은 네트워크 전반에 반영됩니다.

Network.Instantiate() 의 인수 리스트는 다음과 같습니다.

static function Instantiate (prefab : Object, position : Vector3, rotation : Quaternion, group : int) : Object


Object.Instantiate와 마찬가지로 처음 세 개의 파라미터는 인스턴스화하는 프리팹과 원하는 포지션, 회전을 나타냅니다. group 파라미터는 오브젝트의 하위 그룹을 지정해 메시지의 필터링을 제어할 수 있으며 필터링이 필요하지 않다면 제로로 설정될 수 있습니다(아래의 커뮤니케이션 그룹 섹션 참조).

기술적 세부 정보

씬 뒤에서는 네트워크 인스턴스화는 프리팹의 식별자, 포지션 및 기타 정보를 가진 RPC 호출로 구성됩니다. RPC 호출은 언제나 다른 RPC 호출과 마찬가지 방식으로 버퍼되어 새로운 클라이언트가 연결될 때 인스턴스화된 오브젝트가 표시됩니다. 버퍼링에 대한 자세한 내용은 RPC 페이지를 참조하십시오.

커뮤니케이션 그룹

커뮤니케이션 그룹은 특정 메시지를 받는 클라이언트를 선택하는 데 사용합니다. 예를 들어, 연결된 두 플레이어가 게임 세계의 분리된 영역에 있고 절대 만나지 않는 경우를 가정하겠습니다. 이 상황에서 두 플레이어 클라이언트 사이에 게임 상태를 전달할 필요가 없지만 두 플레이어 사이에 채팅 커뮤니케이션은 허용할 수 있습니다. 이 경우 게임플레이 오브젝트의 인스턴스화는 제한해야 하나 채팅 기능을 구현하는 오브젝트는 제한할 필요가 없기 때문에 별도의 그룹에 넣습니다.

상태 동기화 세부 사항(레거시)
네트워크 레벨 로드(레거시)