用于在 Unity 中制作网络游戏的高级 API,利用 RevenantX/LiteNetLib
TinyBirdNet 的目标是创建一个环境,您可以在其中轻松地将网络添加到 Unity 游戏中,同时在幕后使用 LiteNetLib。
支持Unity 2017及以上版本
当前版本已经在 Windows 和 Linux 上进行了测试,如果发现任何错误,请提出问题。
将 Assets 下的 TinyBirdNet 文件夹添加到您的项目将为您提供在游戏中启动网络所需的一切。
在 Examples 文件夹中,您将找到一个网络游戏的简单工作演示。
您需要在游戏中始终启用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的所有预制件。