Une API de haut niveau pour créer des jeux en réseau dans Unity, utilise RevenantX/LiteNetLib
L'objectif de TinyBirdNet est de créer un environnement dans lequel vous pouvez facilement ajouter du réseau aux jeux Unity, tout en utilisant LiteNetLib en coulisses.
Prend en charge Unity 2017 et supérieur
La version actuelle a été testée sur Windows et Linux, veuillez ouvrir un problème si vous trouvez des bugs.
L'ajout du dossier TinyBirdNet sous Assets à votre projet vous donnera tout ce dont vous avez besoin pour démarrer la mise en réseau de votre jeu.
Dans le dossier Exemples, vous trouverez une démo simple et fonctionnelle d'un jeu en réseau.
Vous aurez besoin d'un TinyNetGameManager
ou d'une instance dérivée toujours activée sur votre jeu, alors veuillez en ajouter une à votre première scène et la marquer comme Ne pas détruire au chargement. Une "ConnectKey" unique est requise pour que votre jeu puisse se connecter, incluez de préférence la version actuelle de votre application sur la chaîne de clé.
Le flux de travail recommandé consiste à créer une classe dérivée de TinyNetPlayerController
et à y implémenter votre logique de contrôle de joueur. Pour chaque nouveau joueur du jeu, un nouveau TinyNetPlayerController
est généré. Vous pouvez envoyer des entrées entre les contrôleurs de lecteur client et celui du serveur en utilisant un TinyNetInputMessage
.
Chaque GameObject
que vous souhaitez inclure du code réseau doit contenir un seul TinyNetIdentity
, après cela, les classes qui souhaitent inclure du code réseau doivent soit implémenter ITinyNetComponent
, soit en faire un enfant de TinyNetBehaviour
pour accéder à de nombreuses fonctionnalités telles que [TinyNetSyncVar]
et RPC. méthodes.
En créant des classes dérivées de TinyNetBehaviour
vous pouvez profiter de la sérialisation et de la désérialisation automatiques, bien que la sérialisation/désérialisation manuelle et l'utilisation d' ITinyNetMessage
soient toujours possibles.
Vous pouvez synchroniser jusqu'à 64 propriétés par TinyNetBehaviour
en utilisant l'attribut [TinyNetSyncVar]
. Vous pouvez à tout moment contourner cette limite en implémentant vos propres méthodes TinySerialize
et TinyDeserialize
.
Vous pouvez générer et détruire des objets sur le réseau en appelant simplement TinyNetServer.instance.SpawnObject
et TinyNetServer.instance.DestroyObject
sur un serveur, à partir d'un GameObject valide contenant un TinyNetIdentity
.
N'oubliez pas d'enregistrer tous les préfabriqués qui ont TinyNetIdentity
sur votre TinyNetGameManager
, manuellement ou en cliquant sur le bouton Enregistrer tous les préfabriqués TinyNetIdentity sur votre inspecteur TinyNetGameManager
.