Eine High-Level-API zum Erstellen von Netzwerkspielen in Unity, nutzt RevenantX/LiteNetLib
Das Ziel von TinyBirdNet besteht darin, eine Umgebung zu schaffen, in der Sie Unity-Spielen problemlos Netzwerke hinzufügen können, während Sie im Hintergrund die LiteNetLib nutzen.
Unterstützt Unity 2017 und höher
Die aktuelle Version wurde unter Windows und Linux getestet. Bitte öffnen Sie eine Ausgabe, wenn Sie Fehler finden.
Wenn Sie den TinyBirdNet-Ordner unter „Assets“ zu Ihrem Projekt hinzufügen, erhalten Sie alles, was Sie für die Vernetzung Ihres Spiels benötigen.
Im Beispielordner finden Sie eine einfache funktionierende Demo eines vernetzten Spiels.
Sie benötigen einen TinyNetGameManager
oder eine abgeleitete Instanz, die immer in Ihrem Spiel aktiviert ist. Fügen Sie also bitte einen zu Ihrer ersten Szene hinzu und markieren Sie ihn als „Beim Laden nicht zerstören“. Damit Ihr Spiel eine Verbindung herstellen kann, ist ein eindeutiger „ConnectKey“ erforderlich. Geben Sie vorzugsweise die aktuelle Version Ihrer Anwendung in die Schlüsselfolge ein.
Der empfohlene Arbeitsablauf besteht darin, eine von TinyNetPlayerController
abgeleitete Klasse zu erstellen und dort Ihre Spielersteuerungslogik zu implementieren. Für jeden neuen Spieler im Spiel wird ein neuer TinyNetPlayerController
erzeugt. Sie können Eingaben zwischen den Client-Player-Controllern und dem Server-Controller senden, indem Sie eine TinyNetInputMessage
verwenden.
Jedes GameObject
, das Sie Netzwerkcode einschließen möchten, muss eine einzelne TinyNetIdentity
enthalten. Danach müssen Klassen, die Netzwerkcode einschließen möchten, entweder ITinyNetComponent
implementieren oder Sie können es zu einem untergeordneten Element von TinyNetBehaviour
machen, um Zugriff auf viele Funktionen wie [TinyNetSyncVar]
und RPC zu erhalten Methoden.
Durch die Erstellung von von TinyNetBehaviour
abgeleiteten Klassen können Sie die automatische Serialisierung und Deserialisierung nutzen, obwohl manuelle Serialisierung/Deserialisierung und die Verwendung von ITinyNetMessage
weiterhin möglich sind.
Mithilfe des Attributs [TinyNetSyncVar]
können Sie bis zu 64 Eigenschaften pro TinyNetBehaviour
synchronisieren. Sie können dieses Limit jederzeit umgehen, indem Sie Ihre eigenen TinySerialize
und TinyDeserialize
-Methoden implementieren.
Sie können Objekte im Netzwerk erzeugen und zerstören, indem Sie lediglich TinyNetServer.instance.SpawnObject
und TinyNetServer.instance.DestroyObject
auf einem Server aufrufen, sofern ein gültiges GameObject vorhanden ist, das eine TinyNetIdentity
enthält.
Denken Sie daran, alle Prefabs, die TinyNetIdentity
haben, auf Ihrem TinyNetGameManager
manuell zu registrieren oder indem Sie auf die Schaltfläche „Alle TinyNetIdentity-Prefabs registrieren“ in Ihrem TinyNetGameManager
-Inspektor klicken.