Unity에서 네트워킹 게임을 만들기 위한 고급 API로 RevenantX/LiteNetLib를 활용합니다.
TinyBirdNet의 목표는 LiteNetLib을 뒤에서 사용하면서 Unity 게임에 네트워킹을 쉽게 추가할 수 있는 환경을 만드는 것입니다.
Unity 2017 이상 지원
현재 버전은 Windows와 Linux에서 테스트되었습니다. 버그를 발견하면 문제를 열어주세요.
프로젝트의 Assets 아래 TinyBirdNet 폴더를 추가하면 게임에서 네트워킹을 시작하는 데 필요한 모든 것이 제공됩니다.
예제 폴더 안에는 네트워크 게임의 간단한 작업 데모가 있습니다.
게임에서 항상 활성화된 TinyNetGameManager
또는 파생 인스턴스가 필요하므로 첫 번째 장면에 하나를 추가하고 로드 시 파괴하지 않음으로 표시하세요. 게임을 연결하려면 고유한 "ConnectKey"가 필요합니다. 키 문자열에 애플리케이션의 현재 버전을 포함하는 것이 좋습니다.
권장되는 작업 흐름은 TinyNetPlayerController
에서 파생된 클래스를 생성하고 거기에 플레이어 제어 논리를 구현하는 것입니다. 게임의 새로운 플레이어마다 새로운 TinyNetPlayerController
생성됩니다. TinyNetInputMessage
를 사용하여 클라이언트 플레이어 컨트롤러와 서버 컨트롤러 간에 입력을 보낼 수 있습니다.
네트워크 코드를 포함하려는 각 GameObject
단일 TinyNetIdentity
포함되어야 합니다. 그 후 네트워킹 코드를 포함하려는 클래스는 ITinyNetComponent
구현하거나 이를 TinyNetBehaviour
의 하위로 만들어 [TinyNetSyncVar]
및 RPC와 같은 많은 기능에 액세스할 수 있습니다. 행동 양식.
TinyNetBehaviour
에서 파생된 클래스를 생성하면 자동 직렬화 및 역직렬화를 활용할 수 있지만 수동 직렬화/역직렬화 및 ITinyNetMessage
사용도 여전히 가능합니다.
[TinyNetSyncVar]
속성을 사용하면 TinyNetBehaviour
당 최대 64개의 속성을 동기화할 수 있습니다. 자신만의 TinySerialize
및 TinyDeserialize
메서드를 구현하여 언제든지 이 제한을 우회할 수 있습니다.
TinyNetIdentity
를 포함하는 유효한 GameObject가 주어지면 서버에서 TinyNetServer.instance.SpawnObject
및 TinyNetServer.instance.DestroyObject
호출하기만 하면 네트워크에서 객체를 생성하고 파괴할 수 있습니다.
TinyNetGameManager
에 TinyNetIdentity
가 있는 모든 프리팹을 수동으로 등록하거나 TinyNetGameManager
검사기에서 모든 TinyNetIdentity 프리팹 등록 버튼을 클릭하여 등록하는 것을 잊지 마세요.